Android: layout_gravity center non centro

Ho un problema, che forse è stupida, ma proprio non riesco a capire perché non funziona.

Fondamentalmente, ho un’intestazione nella mia attività. Questa intestazione deve essere centrata.

Layout XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<TextView 
    style="@style/TextHeader"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/define"
    />
</LinearLayout>

Definizione styles.xml

<style name="TextHeader">
    <item name="android:textSize">20dp</item>
    <item name="android:paddingTop">15dp</item>
    <item name="android:layout_gravity">center</item>
    <item name="android:paddingBottom">15dp</item>
</style>

Come ho capito, layout_gravity definisce la gravità del componente stesso, mentre gravity definisce la gravità del contenuto di questo componente. Ho provato in entrambi i modi, sia con center e center_horizontal. Ho anche fatto l’intestazione di una TextView layout_width:wrap_content e ha cercato di centro con layout_gravity, ma il risultato è sempre il seguente (stessa cosa se metto l’app sul mio telefono)

Android: layout_gravity center non centro

perché è così? come posso risolvere il problema?

non hai provato center_vertical? Si potrebbe anche usare relativelayout invece di ” linear layout.

OriginaleL’autore Valentino Ru | 2012-08-27

3 risposte

  1. 7

    Ci sono un paio di soluzioni diverse, questo è uno:

    <TextView
        android:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="@string/define" />

    Questo è un altro:

    <RelativeLayout .../>
    
        <TextView
            ...
            android:centerInParent="true" />
    
    </RelativeLayout>

    È possibile regolare le proprietà di stile a seconda di quale metodo si sceglie.

    Credo che funziona solo quando la larghezza è pari a match_parent o fill_parent

    OriginaleL’autore Sam

  2. 0

    Tenta di utilizzare "center_horizontal" e layout_width:"fill_parent".

    OriginaleL’autore pawegio

  3. 0

    Provare

     center_vertical

    o

     Use Relative Layout.

    OriginaleL’autore Mohit

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *