0

有 3 个带方向的LinearLayout容器。horizontal前两个LinearLayout各有4个TextView孩子。第三个只有 3 个。我已经为所有TextView孩子创建并分配了样式。样式片段:

<item name="android:layout_width">0dp</item>
<item name="android:layout_weight">.25</item>

使用这种样式,前两行很好地对齐,每个孩子TextView使用父母宽度的四分之一。然而TextView,第三个组件LinearLayout每个都使用父级宽度的三分之一。

所以组件对齐是这样的:

A1xxxx A2xxxx A3xxxx A4xxxx
B1xxxx B2xxxx B3xxxx B4xxxx
  C1xxxx  C2xxxx  C3xxxx

而不是这样(如预期的那样):

A1xxxx A2xxxx A3xxxx A4xxxx
B1xxxx B2xxxx B3xxxx B4xxxx
C1xxxx C2xxxx C3xxxx

解决方案: 我尝试手动更改android:layout_weight第三行中每个子项的属性,如果我设置layout_weightC1,C2C3to0.25 0.25并且0.5我得到了所需的对齐方式。

问题:我做错了什么,因为我最初的解决方案是让每个TextView都有属性<item name="android:layout_weight">.25</item>没有按预期工作?

4

2 回答 2

2

你没有做错任何事,你得到的结果是预期的。

您只需将android:weightSum1 添加到第三个 LinearLayout。因为,默认情况下,值android:weightSum设置为孩子的总和layout_weight

于 2021-04-21T10:14:48.277 回答
0

试试这个...

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:text="xhajxnuwxnu"/>
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:text="xhajxnuwxnu"/>
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:text="xhajxnuwxnu"/>
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:text="xhajxnuwxnu"/>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:text="xhajxnuwxnu"/>
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:text="xhajxnuwxnu"/>
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:text="xhajxnuwxnu"/>
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:text="xhajxnuwxnu"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:text="xhajxnuwxnu"/>
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:text="xhajxnuwxnu"/>
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:text="xhajxnuwxnu"/>
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="5"
                />
        </LinearLayout>
    </LinearLayout>
于 2021-04-21T10:04:28.510 回答