Как центрировать двухстрочный текст в 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>


есть идеи?
Спасибо!

662   7  

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:gravity="center_horizontal"

для центрирования двухстрочного текста

добавить свойство

android:lines="2"

где 2 нет строк вы можете установить это нет как ваше требование

Comments

    Ничего не найдено.