2012-03-30 19 views

Respuesta

79

Desea la "gravedad", tenga en cuenta que esto no debe confundirse con la gravedad del diseño, la gravedad del diseño mueve toda la vista de texto, mientras que la gravedad mueve el texto dentro de la vista de texto.

<TextView 
    android:id="@+id/item_name" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:drawableLeft="@drawable/icon" 
    android:gravity="center_vertical" /> 
+1

Gracias, anteriormente probé layout_gravity y no funcionó, no sabía la diferencia, pero ahora está bien. – user940016

+0

muchas gracias ... funciona para mí también – xFighter

0

Debe colocar tanto el Drawable y la TextView dentro de un RelativeLayout y utilizar el atributo layout_alignBaseline en su TextView.

También puede colocar sólo los dos elementos, Drawable y TextView dentro de un LinearLayout con una orientación horizontal y layout_height="wrap_content" y utilizar en su layout_gravity="center_vertical"TextView.

+0

usando android: la gravedad sería un método mucho más limpio y rápido, aunque esto le daría un poco más de flexibilidad para cambiar el tamaño de las imágenes sobre la marcha, etc. – Merkidemis

+0

Gracias por esto , No quería usar drawableLeft ya que el ícono era demasiado pequeño y quería un ImageButton en su lugar. Estuve jugando con los márgenes hasta que encontré tu respuesta. Upvoted. – span

27

Además de establecer la gravedad, esto también puede ayudar con la alineación en algunas situaciones mediante la reducción de los acolchados en la parte superior e inferior de la Vista de Texto, que puede ser desigual:

android:includeFontPadding="false" 
+6

¡Gracias, 'android: gravity' en combinación con esto lo resolvió para mí! – joscarsson

+2

Sí, ¡me ayuda también! Muchas gracias! –

0

Si no les importa acerca de los acentos de texto, simplemente intente android:includeFontPadding="false". Esto eliminará el relleno extra superior e inferior de TextView. En cuanto a android:gravity="center_vertical", no tiene ningún efecto en mi código.

Cuestiones relacionadas