我想在LinearLayout中使用相等的权重分布适合10到12个视图

时间:2018-03-08 16:44:50

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

我正在学习TextView并制作生日列表应用。我正在学习udacity。

我将重量调整为1,将高度调整为0dp,我认为每个TextView都会平均分配。相反,只有5 TextView能够适应,当我尝试添加更多时,我得到了error

这是我的代码:

<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/black">

<TextView
    android:text="(: BIRTHDAY LIST :)"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:textSize="34sp"
    android:textStyle="bold"
    android:textColor="#FFFFFF"
    android:gravity="center"
    />

<TextView
    android:text="Amruta"
    android:layout_width="match_parent" 
    android:layout_height="0dp"
    android:layout_weight="1"
    android:textColor="#FFFFFF"
    android:textSize="24sp"
    android:gravity="center"
    android:background="#F44336"
    android:textStyle="bold"/>
<TextView
    android:text="Didi"
    android:textStyle="bold"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:gravity="center"
    android:background="#C6FF00"
    android:textSize="24sp"  
    android:layout_weight="1"
    />
<TextView
    android:gravity="center"
    android:textStyle="bold"
    android:text="Anushka"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:background="#F8BBD0"
    android:textSize="24sp"  
    android:layout_weight="1"/>
        <TextView
    android:gravity="center"
    android:textStyle="bold"
    android:text="Raj"
    android:layout_width="match_parent"
    android:layout_height="0dp" 
    android:textColor="#FFFFFF"
    android:background="#BA68C8"
    android:textSize="24sp"  
    android:layout_weight="1"
    />
<TextView
    android:gravity="center"
    android:background="#7E57C2"
    android:text="Kunal"
    android:textStyle="bold"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:textSize="24sp"  
    android:layout_weight="1"
    />
<TextView
    android:gravity="center"
    android:text="Uncle"
    android:textStyle="bold"
    android:background="#3F51B5"
    android:layout_width="match_parent"
   android:layout_height="0dp"
    android:layout_weight="1"
    android:textColor="#FFFFFF"
    android:textSize="24sp"
    android:layout_width="match_parent"

    />
<TextView
    android:text="Aunty"
    android:background="#1E88E5"
    android:textStyle="bold"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:textSize="24sp"
    android:layout_height="0dp"
    android:layout_weight="1"/>
<TextView
    android:text="Atul"
    android:background="#0288D1"
    android:textStyle="bold"
    android:layout_weight="1"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:textSize="24sp"  />
<TextView
    android:text="Papa"
    android:textStyle="bold"
    android:gravity="center"
    android:background="#0097A7"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:textSize="24sp"  
    android:layout_weight="1"
    />
<TextView
    android:text="Mummy"
    android:background="#00897B"
    android:textStyle="bold"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="0dp" 
    android:textColor="#FFFFFF"
    android:textSize="24sp"
    android:layout_weight="1"
    />
</LinearLayout>

2 个答案:

答案 0 :(得分:4)

如果格式错误,第一次发帖很抱歉,但我解决了问题。

<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/black">

<TextView
    android:text="(: BIRTHDAY LIST :)"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:textSize="34sp"
    android:textStyle="bold"
    android:textColor="#FFFFFF"
    android:gravity="center"
    />

<TextView
    android:text="Amruta"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:textColor="#FFFFFF"
    android:textSize="24sp"
    android:gravity="center"
    android:background="#F44336"
    android:textStyle="bold"/>
<TextView
    android:text="Didi"
    android:textStyle="bold"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:gravity="center"
    android:background="#C6FF00"
    android:textSize="24sp"
    android:layout_weight="1"
    />
<TextView
    android:gravity="center"
    android:textStyle="bold"
    android:text="Anushka"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:background="#F8BBD0"
    android:textSize="24sp"
    android:layout_weight="1"/>
<TextView
    android:gravity="center"
    android:textStyle="bold"
    android:text="Raj"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:background="#BA68C8"
    android:textSize="24sp"
    android:layout_weight="1"
    />
<TextView
    android:gravity="center"
    android:background="#7E57C2"
    android:text="Kunal"
    android:textStyle="bold"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:textSize="24sp"
    android:layout_weight="1"
    />
<TextView
    android:gravity="center"
    android:text="Uncle"
    android:textStyle="bold"
    android:background="#3F51B5"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:textColor="#FFFFFF"
    android:textSize="24sp"
    android:layout_width="match_parent"

    />
<TextView
    android:text="Aunty"
    android:background="#1E88E5"
    android:textStyle="bold"
    android:gravity="center"
    android:layout_width="match_parent"
    android:textColor="#FFFFFF"
    android:textSize="24sp"
    android:layout_height="0dp"
    android:layout_weight="1"/>
<TextView
    android:text="Atul"
    android:background="#0288D1"
    android:textStyle="bold"
    android:layout_weight="1"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:textSize="24sp"  />
<TextView
    android:text="Papa"
    android:textStyle="bold"
    android:gravity="center"
    android:background="#0097A7"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:textSize="24sp"
    android:layout_weight="1"
    />
<TextView
    android:text="Mummy"
    android:background="#00897B"
    android:textStyle="bold"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:textColor="#FFFFFF"
    android:textSize="24sp"
    android:layout_weight="1"
    />
</LinearLayout>

您遇到的错误是因为TextView中有重复的属性。例如,具有文本“Aunty”的TextView有两行

android:layout_height="0dp"

类似地,带有文本“Uncle”的TextView有两行

android:layout_width="match_parent"

答案 1 :(得分:1)

使用文本“Uncle”删除Textview中的重复属性android:layout_width="match_parent"。同时使用文本“Aunty。

删除Textview中的重复属性android:layout_height="0dp"

查看更正后的版本here