IT

Android-LinearLayout에서 TextView를 가로로 가운데 맞추기

lottoking 2020. 8. 13. 06:54
반응형

Android-LinearLayout에서 TextView를 가로로 가운데 맞추기


다음과 같은 기본 레이아웃이 있습니다.

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/title_bar_background">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:padding="10dp"
        android:text="HELLO WORLD" />

    </LinearLayout>
<LinearLayout>

xml이 올바른 것 같지만 텍스트가 필요합니다. textview는 부모의 전체 너비를 차지하고 textview는 가운데로 설정됩니다. 문제가 무엇인지 잘 모르겠습니다 ...


무슨 일이 일어나고 있는지는 TextView가 내부 LinearLayout 전체 너비를 채우고 있기 때문에 이미 레이아웃 의 수평 중앙에있는 것 입니다. 사용 android:layout_gravity하면 위젯 전체가 지정된 중력에 배치됩니다. 전체 위젯 중앙을 배치하는 대신에 실제로하려는 컨텐츠 를 중앙에 배치 android:gravity="center_horizontal"하고 android:layout_gravity속성을 제거 할 수있는 것입니다.


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/title_bar_background">

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:padding="10dp"
    android:text="HELLO WORLD" />

</LinearLayout>


<TextView>에 중앙 설정하면 <Linearlayout>먼저 android:layout_width="fill_parent"강제로 넣어
다른 중력을 사용할 필요가 없습니다

    <LinearLayout
            android:layout_toRightOf="@+id/linear_profile" 
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:orientation="vertical"
            android:gravity="center_horizontal">
            <TextView 
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="It's.hhhhhhhh...."
                android:textColor="@color/Black"

                />
    </LinearLayout>

대신 android:gravity="center"에서 사용하십시오 .TextViewlayout_gravity


다음을 사용하십시오. android : layout_centerHorizontal = "true"

전체 텍스트 뷰를 중앙에 배치합니다.

참고 URL : https://stackoverflow.com/questions/7651912/android-center-textview-horizontally-in-linearlayout

반응형