嘿,我创建了一个带有2个RelativeLayout的LinearLayout。一个RelativeLayout的权重为8,另一个的权重为2.当我启动我的应用程序时,应该使用80%屏幕的布局占用屏幕的20%,另一个应该使用20%屏幕的RelativeLayout需要80屏幕的百分比。
这是我的代码:
<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 :(得分:1)
在LinearLayout上使用权重时,必须注意weightSum
值。默认情况下为1,如果需要,可以在layout_weight
中设置浮点值。儿童应指定layout_weight
值,layout_width
或layout_height
必须为0dp
,具体取决于父母的方向。
你没有自己修复它有点奇怪,因为Android Studio会自动警告你。
无论如何,下面你找到固定的布局。让我知道它是否适合你。
<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>
此外,我将fill_parent
替换为match_parent
,因为如果您使用它,则意味着您正在为API Level 8+开发,因此您应该使用“match_parent”(它已被替换,但是值保持不变“-1”)。