2013-08-30 3 views
0

내가 여기에 거의 모든 샘플이 코드에서 layout_weight를 설정하는 방법이라고 볼 :프로그래밍 방식으로 레이아웃 무게를 설정하는 올바른 방법은 무엇입니까?

linearLayoutView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 
                    LinearLayout.LayoutParams.WRAP_CONTENT, 
                    1f)); 

그러나, 이것은 내 경우에는 작동하지 않습니다. 유일한이 내 경우에는 작동 즉 : XML 코드

<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     > 

에 해당

linearLayoutView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 
                    0, 
                    1f)); 

왜 이런 일이? 내 솔루션이 잘못 되었나요? 당신이 XML 코드

당신의 XML이 너무 정확하고에 해당

두 번째 코드 말했듯이

답변

2

는 니펫을 당신 때문에 layout_height의 있습니다. 이 경우 LinearLayoutvertical orientation이 있어야합니다. weight이 올바르게 작동하려면 layout_width0dp이어야하며 LinearLayoutvertical orientation이어야합니다. layout_height0dp이어야합니다. 첫 번째 코드에서

당신이 잘못 귀하의 height에 대한

LinearLayout.LayoutParams.WRAP_CONTENT 

이 니펫을. 두 번째 코드 스 니펫에서와 같이 0이어야합니다.

관련 문제