2

我有一个水平线性布局中有 2 个 TextView 的视图,每个视图的权重为 1。

第二个 TextView 是这样的:

<TextView
                android:id="@+id/info_button"
                style="@style/TextBlue"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@drawable/bg_ten_percent_black_selector"
                android:layout_height="@dimen/card_button_height"
                android:text="@string/shop_info"
                android:gravity="center"
                />

由于某种原因,文本在渲染时不会水平居中。但是,如果我对其进行触摸,它将居中。

我有一个修复程序,我将它包装在一个额外的 LinearLayout 中,该LinearLayout 被赋予了权重,并将TextView 居中,但我想知道为什么这种解决方法在这不是有效的情况下是有效的。

此外,这里可能需要额外的信息,因为这种居中文本的方法通常有效。视图被膨胀并添加为 ListView 标题。

4

3 回答 3

1

您正在寻找的是textAlignment您的情况:

android:textAlignment="center"
于 2018-02-15T22:40:05.210 回答
0

我怀疑你的意思是layout_gravity,不是gravity

请参阅:Android 上的 Gravity 和 layout_gravity

于 2014-03-08T16:37:01.577 回答
0

尝试在 textview 属性中使用center_verticalandcenter_horizontal

android:gravity="center_vertical|center_horizontal"
于 2014-03-08T15:57:06.343 回答