为什么观点不均匀分布

时间:2017-10-05 14:20:07

标签: android android-linearlayout

我有4个TextView。我想要做的是让列表中的所有客人占用相同的空间(除了'VIP列表' TextView)。 所以我将layout_height设置为0dp,将layout_weight设置为1,但仍然有一些地方没有被置于底部。 我的代码出了什么问题?

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

    <TextView
        android:text="VIP List"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"        
        android:background="#00ACC1"
        android:textSize="24sp"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        android:gravity="center" />

    <TextView
        android:text="Bob"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#BF360C"
        android:textSize="24sp"
        android:textColor="#FFFFFF"/>

    <TextView
        android:text="Bill"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#4CAF50"
        android:textSize="24sp" 
        android:textColor="#FFFFFF"/>

    <TextView
        android:text="Ben"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#2E7D32"
        android:textSize="24sp" 
        android:textColor="#FFFFFF"/>

</LinearLayout>

enter image description here

3 个答案:

答案 0 :(得分:3)

用这个改变你的LinearLayout代码;

GetComponent

答案 1 :(得分:1)

推出&#34; VIP列表&#34;来自内容容器LinearLayout的TextView,因为它不属于&#34; relative&#34; TextView组,然后添加 android:weightSum="3"到LinearLayout内容容器,因为你有3个TextViews,权重= 1.最后在父LinearLayout中包装所有视图。

考虑以下内容:

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

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#00ACC1"
        android:gravity="center"
        android:text="VIP List"
        android:textColor="#FFFFFF"
        android:textSize="24sp"
        android:textStyle="bold" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/darker_gray"
        android:weightSum="3"
        android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#BF360C"
        android:text="Bob"
        android:textColor="#FFFFFF"
        android:textSize="24sp" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#4CAF50"
        android:text="Bill"
        android:textColor="#FFFFFF"
        android:textSize="24sp" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#2E7D32"
        android:text="Ben"
        android:textColor="#FFFFFF"
        android:textSize="24sp" />

    </LinearLayout>
</LinearLayout>

答案 2 :(得分:0)

它会工作..在父布局下使用线性布局,它使用android:weightSum =“3”并将vip列表放在第二个线性布局之外像:

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

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#00ACC1"
    android:gravity="center"
    android:text="VIP List"
    android:textColor="#FFFFFF"
    android:textSize="24sp"
    android:textStyle="bold" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/darker_gray"
    android:weightSum="3"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#BF360C"
        android:text="Bob"
        android:textColor="#FFFFFF"
        android:textSize="24sp" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#4CAF50"
        android:text="Bill"
        android:textColor="#FFFFFF"
        android:textSize="24sp" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#2E7D32"
        android:text="Ben"
        android:textColor="#FFFFFF"
        android:textSize="24sp" />

</LinearLayout>
</LinearLayout>
相关问题