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

안드로이드 뷰 사이즈 조정에 대한 질문입니다.

0 추천
[xml]

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="25dp">

        <GridView
            android:id="@+id/gridview
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:columnWidth="176dp"
            android:numColumns="6"
            android:stretchMode="columnWidth">

        </GridView>

        <com.example.CustomView
            android:id="@+id/customview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    </FrameLayout>

 

1의 경우의수와 2의 경우의수가 존재한다면 1의 경우의수에는 커스텀뷰의 width를 700, 2의 경우의 수 일떄는 커스텀뷰의 width를 match_parent로 주려고 합니다.

 

if(경우의수1) {
 final int width = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 240, getResources().getDisplayMetrics());
 FrameLayout.LayoutParams layoutParams = new LayoutParams(width, ViewGroup.MATCH_PARENT);
 customView.setLayoutParams(layoutParams);
} else {
 FrameLayout.LayoutParams layoutParams = new LayoutParams(ViewGroup.MATCH_PARENT, ViewGroup.MATCH_PARENT);
 customView.setLayoutParams(layoutParams);
}

 

이런식으로 초기에 로딩될 때 사이즈를 조정하고, 버튼1,2,3,4가 존재하면

버튼을 클릭하여 경우의수에 맞게 커스텀뷰의 사이즈를 조정하고 싶은데,

 

초기값의 width와 height가 MATCH_PARENT일땐 상관없는데,

초기값의 width가 700, height가 MATCH_PARENT일때는

사이즈가 바뀌지 않고 있습니다..

 

제가 코드를 잘못짜고 있는걸까요..방법이 없을까요?

답변 부탁드립니다.ㅠ
미싱카 (1,780 포인트) 님이 2016년 3월 17일 질문

1개의 답변

+1 추천
 
채택된 답변
MATCH_PARENT도 정상적용되지 않고 있는 것으로 보이네요. xml에 설정된 상태가 그냥 노출되는 것 같습니다.

파라메터 수정후 customView.invalidate();를 호출해주세요.
이카르테 (3,570 포인트) 님이 2016년 3월 19일 답변
미싱카님이 2016년 3월 20일 채택됨
...