2017-12-27 22 views
-1

안녕하세요, 저는 2 개의 RelativeLayout이있는 LinearLayout을 만들었습니다. 하나의 RelativeLayout은 8의 가중치를 가지며 다른 하나는 2의 가중치를가집니다. App을 실행하면 Screen의 80 %를 사용하는 Layout이 Screen의 20 %를 차지하고 나머지 20 %는 Screen의 20 %를 차지하는 RelativeLayout은 80 %의 화면. 여기LinearLayout 무게가 잘못되었습니다.

내 코드 :

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/colorPrimary" 
    android:layout_weight="8"> 
</RelativeLayout> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#FFFFFF" 
    android:layout_weight="2"> 
</RelativeLayout> 
</LinearLayout> 
+0

가중치는 올바르게 사용하면 완벽하게 작동합니다. 가중치가 적용된 측정 기준의 크기는 ** 0dp **이어야합니다. 그게 전부 야. –

답변

0

의 LinearLayout에 가중치를 사용하여, 당신은 weightSum 값에주의해야합니다. 기본적으로 1이고, layout_weight에 필요한 경우 부동 값을 가질 수 있습니다. 어린이는 layout_weight 값을 지정해야하며 layout_width 또는 layout_height은 부모 오리엔테이션에 따라 0dp이어야합니다. Android Studio에서 자동으로 경고하므로 사용자가 직접 고치지 않은 것이 이상합니다. 어쨌든, 아래 고정 레이아웃을 찾으십시오. 그것이 당신을 위해 작동하는지 알려주세요. 당신이 그것을 사용하는 경우, 당신이 "match_parent"를 사용한다, 그래서 당신이 그것을 대체되었습니다 (8 + API 레벨에 대한 개발하는 것을 의미하지만, 값이 동일하게 유지하기 때문에

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:weightSum="10" 
    android:orientation="vertical"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:background="@color/colorPrimary" 
     android:layout_weight="8"> 
    </RelativeLayout> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:background="#FFFFFF" 
     android:layout_weight="2"> 
    </RelativeLayout> 

</LinearLayout> 

또한, 나는, match_parentfill_parent 교체 "-1").

+1

'weightSum'은 필요하지 않습니다. –

+0

이 경우에 당신은 맞습니다 :) – FonzTech

+1

오, 감사합니다. 나는 단지 RelativeLayout에 layout_height를 고정 시켰습니다. –