64

我在 Android 中有一个多行 TextView。它是 LinearLayout 的子级。它已经水平居中,我也想让里面的文本居中。

这是我现在拥有的:

_ _ _ _ _ _| aaaaaaaaaaaaaaaaaaaaa  
_ _ _ _ _ _| aaaaaaaa  
_ _ _ _ _ _| aaaaaaaaaaaaaa

我想要的是:

_ _ _ _ _ _| aaaaaaaaaaaaaaaaaaaaa  
_ _ _ _ _ _|       aaaaaaaa  
_ _ _ _ _ _|     aaaaaaaaaaaaaa

在哪里:

_ _ _ _ = TextView 侧面的空间

| = TextView 边缘

4

6 回答 6

173

你试过gravity属性TextView吗?

  android:gravity="center"

并确保使用android:gravity而不是android:layout_gravity.

于 2012-06-19T07:15:51.167 回答
15

android:gravity="center_horizontal"应该做的伎俩。

更多信息可以在这里这里找到。

于 2012-06-19T07:16:53.883 回答
2

是的,使用android:gravity属性来改变视图中数据的位置。

于 2017-06-07T13:15:27.530 回答
1

重力属性是对齐的更新。Gravity 在属性检查器中可用,也可以做;

android:gravity="center"
于 2020-09-14T13:29:56.603 回答
1

如果您只想在 textView 中对齐文本,textAlignment那么比重力更好。

添加android:textAlignment="center"Center

添加android:textAlignment="textStart"Left

添加android:textAlignment="textEnd"Right

于 2021-07-28T09:42:36.863 回答
-1

在 strings.xml 中制作文本(要设置到 TextView 中),如下所示:

<string name="content">
<center>Your text goes here.</center>
</string>

并在 TextView 添加以下属性:

<TextView
...
android:text="@string/content"/>

它将文本水平居中到 TextView 中。

于 2018-08-13T14:41:52.833 回答