LinearLayout Weight工作错误

时间:2017-12-27 22:05:54

标签: android android-layout android-linearlayout android-layout-weight

嘿,我创建了一个带有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>

1 个答案:

答案 0 :(得分:1)

在LinearLayout上使用权重时,必须注意weightSum值。默认情况下为1,如果需要,可以在layout_weight中设置浮点值。儿童应指定layout_weight值,layout_widthlayout_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”)。