Android의 TextView에서 두 줄 텍스트를 중앙에 배치하는 방법은 무엇입니까?


79

나는 다음과 같이 보이고 싶다.

|    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>

어떤 생각? 감사!

답변:


219

중앙에 배치하고 싶다면 ( \n이 라인을 분할하기 위해 노력하고 있다고 가정합니다 ) android:gravity="center_horizontal"대신 layout_gravity.
레이아웃 중력을 사용하면 실제 TextView가 이동하고 중력을 사용 하면 TextView 의 내용 에 영향을줍니다 .


19

둘 다 추가하고 둘 다 gravity및 내용 layout_gravity을 정렬해야 TextView했습니다.

android:gravity="center_horizontal"
android:layout_gravity="center_horizontal"

3

너비가 wrap_content이면 중력과 레이아웃 중력을 모두 "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"/>

도움이 되었기를 바랍니다.


감사. 작동합니다. 'gravity'와 'layout_gravity'를 모두 설정하는 것이 저에게 트릭이었습니다.
Prasanna Ramaswamy

2

당신이 사용할 수있는:

TextView tv = (TextView) findViewById(R.id.the_text_view);
tv.setText(Html.fromHtml("two"+"\n"+"lines"));

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"));

1

나는 사용한다:

android:gravity="center_horizontal"

두 줄 텍스트 가운데에


-3

속성 추가

android:lines="2"

2는 라인이 아니므로 이것을 요구 사항으로 설정할 수 있습니다.


1
이것은 TextView를 가운데로 설정하지 않고 두 줄만 갖도록 강제합니다. 그래도이 대답은 그렇게 나쁘지 않아서 비추천해야합니다.
Shishdem

요청한대로 영향을 미치지 않습니다. 정렬은 중앙에 있지 않습니다.
deva11 dec.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.