线性布局中的视图不等于 space 与 android:layout_weight 属性

Views in Linear Layout not getting equal space with android:layout_weight attribute

如主题标题所述,我有 3 个 TextView,我希望它们使用 android:layout_weight 属性共享整个屏幕的宽度,但这样做并没有得到想要的结果.

线性布局:

<TextView
    android:id="@+id/tour1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="@drawable/back"
    android:clickable="true"
    android:gravity="center"
    android:paddingBottom="8dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:paddingTop="8dp"
    android:text="Tour \n disponibili  \n 21" />

<TextView
    android:id="@+id/tour2"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="16dp"
    android:layout_toRightOf="@+id/tour1"
    android:layout_weight="1"
    android:background="@drawable/back"
    android:clickable="true"
    android:gravity="center"
    android:paddingBottom="8dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:paddingTop="8dp"
    android:text="Tour \n prenotabili  \n 16" />

<TextView
    android:id="@+id/tour3"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="16dp"
    android:layout_toRightOf="@+id/tour2"
    android:layout_weight="1"
    android:background="@drawable/back"
    android:clickable="true"
    android:gravity="center"
    android:paddingBottom="8dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:paddingTop="8dp"
    android:text="Tour \n preferiti  \n 3" />

纵向结果:

横向结果:

大象在哪里?

ps。正如您从屏幕截图中注意到的那样,出现了第二个问题:为什么前 2 TextView 的高度被拉长了?我该如何解决这种不可预测的行为?

LinearLayout 宽度设置为 wrap_content。将其设置为 match_parent,视图将拉伸到整个屏幕宽度。

替换

android:layout_width="wrap_content"

android:layout_width="match_parent"

在你的 LinearLayout.

wrap_content 表示“ViewGroupwill have the size which is big enough to enclose its content, whilematch_parent”将使其与其父级一样大。