2013-04-26 15 views
20

A CompoundDrawable è un TextView con un'immagine e un testo giusto? Quindi se è una combinazione dei due, come puoi mettere il testo al centro rispetto all'immagine? O come puoi mettere l'immagine al centro rispetto al testo se il testo è un po 'più piccolo rispetto all'immagine? O se l'immagine è più piccola del testo? Come posso coprire questi scenari usando XML?Come centrare testo e immagini in un CompoundDrawable?

Ecco un esempio di un CompoundDrawable:

<TextView 
    android:id="@+id/image" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:drawableTop="@drawable/image" 
    android:text="@string/text" /> 

risposta

38

Aggiungi android:gravity="center" al vostro TextView.

+0

lo ha fatto dispiace ringraziare you.one più come posso mettere il testo sul lato dell'immagine o viceversa? – Giant

+2

@HakHak, usa android: drawableLeft, android: drawableRight, ecc per posizionare l'immagine altrove. – andyandy

1
<TextView 
    android:id="@+id/filterView" 
    android:layout_width="200dp" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:background="@drawable/background_card" 
    android:text="Offers" 
    android:drawableLeft="@drawable/small_badge_dollar" 
    android:drawablePadding="-20dp" 
    android:paddingLeft="20dp" 
    android:textColor="@color/offers_color"`enter code here` 
    android:textSize="25sp" 
    android:textStyle="bold" /> 
+0

Gioca su Android: drawablePadding = "- 20dp" android: paddingLeft = "20dp" – yesh

1
cool stuff with android:drawablePadding="-20dp" android:paddingLeft="20dp" 

    <Button 
     android:id="@+id/btn_pre" 
     style="?android:buttonBarStyle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginRight="1dp" 
     android:layout_weight="1" 
     android:background="@color/bottom_tab" 
     android:contentDescription="@string/image_view" 
     android:drawableLeft="@drawable/prev" 
     android:drawablePadding="-20dp" 
     android:onClick="navigateStaticPages" 
     android:paddingLeft="20dp" 
     android:text="@string/pre" 
     android:textColor="#000" 
     android:textSize="@dimen/login_textSize" /> 
+0

una domanda è una buona pratica per mettere un valore negativo sul padding? – Giant

+1

Sto usando nel mio layout, non ho visto alcun inconveniente. dipende dalle tue esigenze –

+0

Ma se la mia textview è match parent (0dp), allora? – Subho

Problemi correlati