Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android上的TextView中居中显示两行文字?_Android_Text_Textview_Multiline_Text Alignment - Fatal编程技术网

如何在Android上的TextView中居中显示两行文字?

如何在Android上的TextView中居中显示两行文字?,android,text,textview,multiline,text-alignment,Android,Text,Textview,Multiline,Text Alignment,我想让它看起来像这样: | two | | lines | 这是当前的布局,根本不起作用 <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical"> <TextView android:layout_width="wrap_

我想让它看起来像这样:

|    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>

有什么想法吗?
谢谢

我认为你必须从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电视=(TextView)findviewbyd(R.id.the_text_view);
tv.setText(Html.fromHtml(“两行”);

如果您只想将其居中(我假设
\n
正在分割线),只需添加
android:gravity=“center\u horizontal”
而不是
布局重力

使用布局重力移动实际的文本视图,使用重力影响文本视图的内容。

您可以使用:

TextView tv = (TextView) findViewById(R.id.the_text_view);
tv.setText(Html.fromHtml("two"+"\n"+"lines"));
添加属性

android:lines="2"

其中2是行数,您可以根据需要设置该行数。您必须同时添加
重力
布局重力
以对齐
文本视图及其内容

android:gravity="center_horizontal"
android:layout_gravity="center_horizontal"

如果宽度为“包裹内容”,则必须将“重心”和“布局重心”都设置为“水平中心”


但是,如果宽度为“匹配父项”,则只需将重力设置为“中心水平”


希望有帮助!

我使用:

android:gravity="center_horizontal"

将两行文本居中

这不会将文本视图设置为居中,它只会强制文本视图有两行。不过,这个答案还不算太差,需要向下投票。它不会按要求产生任何影响。对齐不会居中。谢谢。这很管用。同时设置“重力”和“布局重力”对我来说很管用。这应该是公认的答案nswer,因为所选的仅对换行有效。谢谢!
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="two\nlines"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal"/>
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="two\nlines"
    android:gravity="center_horizontal"/>
android:gravity="center_horizontal"