it-swarm.com.de

Android - Zentriere TextView horizontal in LinearLayout

Ich habe das folgende grundlegende Layout

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

Es scheint, dass die XML-Datei korrekt ist, der Text jedoch nach links ausgerichtet ist. Die Textansicht nimmt die gesamte Breite des übergeordneten Elements ein, und die Textansicht ist zentriert. Nicht sicher, was das Problem ist ...

99
Jake Wilson

Da das TextView die Breite ganze des inneren LinearLayout ausfüllt, befindet es sich bereits in der horizontalen Mitte des layout. Wenn Sie Android:layout_gravity verwenden, wird das Widget als Ganzes in der angegebenen Schwerkraftposition platziert. Anstatt das gesamte Widget-Zentrum zu platzieren, platzieren Sie das content in der Mitte, was Sie mit Android:gravity="center_horizontal" erledigen können, und das Android:layout_gravity-Attribut kann entfernt werden.

210
Dan S
<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>

22
JoeLallouz

Wenn Sie <TextView> in der Mitte in <Linearlayout> setzen, müssen Sie zuerst Android:layout_width="fill_parent" obligatorisch eingeben
Keine andere Schwerkraft erforderlich 

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

Verwenden Sie Android:gravity="center" in TextView anstelle von layout_gravity.

16
Blackbelt

Verwenden Sie einfach: Android: layout_centerHorizontal = "true"  

Dadurch wird die gesamte Textansicht in die Mitte gestellt

0
charlenecipres