Как центрировать двухстрочный текст в TextView на Android?
Я хочу, чтобы это выглядит так:
| 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="twonlines"
android:layout_gravity="center_vertical"
android:layout_centerInParent="true"/>
</RelativeLayout>
есть идеи?
Спасибо!
7 ответов:
Если вы просто хотите его центрировать (я предполагаю, что
\nработает, чтобы разделить строки), просто добавьтеandroid:gravity="center_horizontal", а неlayout_gravity.
Использование гравитации макета перемещает фактический TextView, используя гравитацию влияет на контент из TextView.
пришлось добавить как
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 tv = (TextView) findViewById(R.id.the_text_view); tv.setText(Html.fromHtml("two"+"\n"+"lines"));
Я думаю, что вы должны сделать это в 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"));
добавить свойство
android:lines="2"где 2 нет строк вы можете установить это нет как ваше требование
Comments