마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

탭뷰 사이즈 조정이 너무 안먹어요 .. 어떻게 해야하나요?

0 추천

현재 탭호스트 사용중이구

위젯5개, 프레임레이아웃 안에 에딧텍스트 5개 있습니다.

인텐트와 별다른 상속없이 메인xml에 만들었구 메인activity에 탭호스트의 아이디를 받아와 구현했습니다.

현재 setOnTabChangedListener를 이용하여 위젯을 누르면 원하는 사이즈만큼 호스트뷰를 불르는데

선택된 위젯을 다시 누르면 안되더라구요..그래서 

tabHost.setOnTouchListener(new myTabTouch());

class myTabTouch implements View.OnTouchListener{
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            tabHost.getLayoutParams().height = 145;
            Toast.makeText(TimeAdd.this, "행", Toast.LENGTH_SHORT).show();
        }
        return false;
    }
}

를 코딩하여 탭 호스트의 height를 145로 만들려고 하는데 이상하게 Toast는 처리되고 사이즈는 변하지않네요...;;;;;;;;;분명 setOnTabChangedListener를 에서도  tabHost.getLayoutParams().height를 이용했는데 말이죠.. 어떻게 하면 좋을까요?..

( 사실 이런식으로도 구현을 해봤을땐 사이즈 변환이 잘됐습니다. 하지만 setOnTabChangedListener와의

중복된 처리를 해결하지 못하여 위와같이 해보려는데 안됐어용 ㅠㅠ...

혹시 getChildAt(index)와 같이 명시적으로 지정을 해주지않아서 그럴까요?..

      tabHost.getTabWidget().getChildAt(0).setOnTouchListener(new myTabTouch());
        tabHost.getTabWidget().getChildAt(1).setOnTouchListener(new myTabTouch());
        tabHost.getTabWidget().getChildAt(2).setOnTouchListener(new myTabTouch());
        tabHost.getTabWidget().getChildAt(3).setOnTouchListener(new myTabTouch());
        tabHost.getTabWidget().getChildAt(4).setOnTouchListener(new myTabTouch());
맹꾸 (500 포인트) 님이 2016년 1월 8일 질문

1개의 답변

0 추천
setLayoutParams

requestLayout
익명사용자 님이 2016년 1월 8일 답변
님.....진심 세상에서 제일고마워요...저 이거때매 이틀밤샜어요...진심.........;;;;와..님아... 사랑해요.. 우유한잔 드리고싶네........
...