我想让它看起来像这样:
| 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>
有什么想法吗? 谢谢!
答案 0 :(得分:205)
如果你只是想让它居中(我假设\n
正在分割线条),只需添加android:gravity="center_horizontal"
而不是layout_gravity
。
使用布局重力会移动实际的TextView,使用重力会影响TextView的内容。
答案 1 :(得分:12)
必须同时添加gravity
和layout_gravity
以对齐TextView
及其内容
android:gravity="center_horizontal"
android:layout_gravity="center_horizontal"
答案 2 :(得分:3)
如果你的宽度是wrap_content,你必须将gravity和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"/>
希望它有所帮助!
答案 3 :(得分:2)
您可以使用:
TextView tv = (TextView) findViewById(R.id.the_text_view);
tv.setText(Html.fromHtml("two"+"\n"+"lines"));
答案 4 :(得分: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"));
答案 5 :(得分:0)
我用:
main
以两行文字为中心
答案 6 :(得分:-2)
添加属性
android:lines="2"
其中2不是行,你可以设置这个不作为你的要求