85

我想让它看起来像这样:

|    two    |
|   lines   |

这是当前的布局,根本不起作用。

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="two\nlines"
        android:layout_gravity="center_vertical"
        android:layout_centerInParent="true"/>
</RelativeLayout>

任何的想法?谢谢!

4

7 回答 7

225

如果您只想将其居中(我假设\n正在拆分行),只需添加android:gravity="center_horizontal"而不是layout_gravity.
使用布局重力会移动实际的 TextView,使用重力会影响 TextView 的内容

于 2011-01-25T03:34:45.843 回答
21

必须同时添加gravitylayout_gravity对齐两者TextView及其内容

android:gravity="center_horizontal"
android:layout_gravity="center_horizontal"
于 2017-01-16T02:56:39.760 回答
4

如果您的宽度是 wrap_content,则必须将重力和 layout_gravity 都设置为“center_horizo​​ntal”

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="two\nlines"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal"/>

但是,如果您的宽度是“match_parent”,您只需将重力设置为“center_horizo​​ntal”

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="two\nlines"
    android:gravity="center_horizontal"/>

希望能帮助到你!

于 2017-10-02T07:50:09.070 回答
2

您可以使用:

TextView tv = (TextView) findViewById(R.id.the_text_view);
tv.setText(Html.fromHtml("two"+"\n"+"lines"));
于 2012-05-09T14:08:57.547 回答
1

我认为你必须从 Java 中做到这一点:

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical">
    <TextView
        android:id="@+id/the_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_centerInParent="true"/>
</RelativeLayout>

然后:

TextView tv = (TextView) findViewById(R.id.the_text_view);
tv.setText(Html.fromHtml("two<br/>lines"));
于 2011-01-25T02:58:54.573 回答
1

我用:

android:gravity="center_horizontal"

将两行文本居中

于 2018-03-23T02:13:26.440 回答
-3

添加属性

android:lines="2"

其中 2 是行数,您可以将其设置为您的要求

于 2014-12-11T07:09:56.167 回答