具有权重的TextView无法水平居中文本

时间:2014-03-08 15:52:27

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

我在水平LinearLayout中有一个带有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中,它给出了权重,并将TextView置于其中,但我想知道为什么这个解决方法在没有这个时有效。

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

3 个答案:

答案 0 :(得分:1)

在您的案例中,您要找的是textAlignment

android:textAlignment="center"

答案 1 :(得分:0)

尝试使用textview属性中的center_verticalcenter_horizontal

android:gravity="center_vertical|center_horizontal"

答案 2 :(得分:0)

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

请参阅:Gravity and layout_gravity on Android