如何在Android上的TextView中居中放置两行文字?
问题描述:
我想让它看起来像这样:如何在Android上的TextView中居中放置两行文字?
| 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>
任何想法? 谢谢!
答
如果你只是想居中(我假设\n
正在分割线) ,只需添加android:gravity="center_horizontal"
而不是layout_gravity
。
使用布局引力移动实际的TextView,使用重力影响TextView的内容。
答
我认为你必须从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"));
答
您可以使用:
TextView tv = (TextView) findViewById(R.id.the_text_view);
tv.setText(Html.fromHtml("two"+"\n"+"lines"));
答
添加属性
android:lines="2"
其中2是没有台词的,你可以设置这个没有为您的需求量的
答
不得不添加两个gravity
和layout_gravity
到同时对齐TextView
及其内容
android:gravity="center_horizontal"
android:layout_gravity="center_horizontal"
答
如果你的宽度是WRAP_CONTENT,你必须设置重力和layout_gravity既作为“CENTER_HORIZONTAL”
<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_HORIZONTAL’
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="two\nlines"
android:gravity="center_horizontal"/>
希望它有帮助!
这不会将TextView设置为居中,它只会强制它有两行。尽管如此,这个答案并不是那么糟糕,它需要被低估。 – Shishdem 2015-03-19 14:14:54
没有解决任何问题-.- – 2016-05-23 10:12:27