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