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.