水平线性布局中两个文本视图的重力不同

3

我正在使用以下代码,当我将第一个textview的重力设置为center时,第二个textview的文本也会自动与第一个文本对齐。即使我将第二个视图的重力设置为top

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="96dp"
        android:text="New Text"
        android:id="@+id/textView" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="48dp"
        android:text="New Text"
        android:id="@+id/textView2" />
</LinearLayout>

另一个问题中有一个解决方案,建议将第二个文本视图包装在另一个LinearLayout中。但为什么要这样做呢?


不要使用两个LinearLayout,改用RelativeLayout。这只是我的建议。 - ישו אוהב אותך
LinearLayout意味着您可以按顺序(垂直/水平)对齐视图。以初始化的方式一一排列。 - sushildlh
1个回答

2

水平LinearLayout默认通过基线对齐其子View,因此第二个TextView被移动以与第一个对齐。要解决问题,只需将LinearLayoutbaselineAligned属性设置为false

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:baselineAligned="false">

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接