2011-03-08 6 views
50

Tengo textview.xml, que es el estilo de elemento para hilanderos.¿Es posible especificar múltiples valores de gravedad en el artículo spinner custom_style.xml?

<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="left|center_horizontal" 
    android:textSize="18sp"> 
</TextView> 

sé que es posible especificar tanto (Gravity.LEFT | Gravity.CENTER_HORIZONTAL), pero en XML que no funciona - el texto se mueve a la izquierda solamente.

+1

¿Qué estás tratando de lograr?Puede especificar una gravedad horizontal y una gravedad vertical de esa manera, pero dos ajustes horizontales no tienen sentido. – adamp

+1

Mi error, lo siento. En realidad, fue "left | center_vertical", por supuesto. Ahora funciona, gracias por señalar. – 87element

Respuesta

146

87element,

creo que la intención de utilizar layout_gravity sólo está utilizando gravity ??

Sí, puede combinar dos de estos atributos layout_gravity junto con el '|' como se menciona en la documentación: http://developer.android.com/reference/android/R.attr.html#layout_gravity

Pero incluso utilizando layout_gravity en lugar de sólo gravity (como adamp declaró en su comentario), los ajustes que están tratando de combinar no tienen sentido. Usted está diciendo que básicamente se alinee a la izquierda y al centro a lo largo de la misma fila. Tanto left como center_horizontal en este caso se refieren a posiciones horizontales.

¿Dónde intenta alinear el TextView en relación con el elemento primario?

Su diseño padre es como una cuadrícula en la que puede seleccionar una posición:

| [1] [2] [3] |

| [4] [5] [6] |

| [7] [8] [9] |

  1. Superior izquierda: android:layout_gravity="top|left"

  2. Top-Centro: android:layout_gravity="top|center_horizontal"

  3. Superior derecha: android:layout_gravity="top|right"

  4. centro-izquierda: android:layout_gravity="center_vertical|left"

  5. centro: android:layout_gravity="center"

  6. Centro-Derecha: android:layout_gravity="center_vertical|right"

  7. Inferior izquierda: android:layout_gravity="bottom|left"

  8. parte inferior central: android:layout_gravity="bottom|center_horizontal"

  9. Inferior derecha: android:layout_gravity="bottom|right"

Espero que esto ayude !

+1

¡Gracias por la respuesta, el "mapa" ayudó mucho! Sin embargo, debo mencionar, que estaba destinado a usar exactamente el atributo 'android: gravity'. Mi 'TextView' va como parámetro de diseño de elementos para' ArrayAdapter' de mi spinner; 'android: layout_gravity' no hizo ningún cambio. Estaba cerca de la solución, a excepción de este tonto error de posicionamiento, tú y adamp me señalaron. ¡Gracias de nuevo! – 87element

+0

Wow. Es una respuesta maravillosa. Tu respuesta me ayudó. –

2

Solo en caso de que alguien más fuera tan estúpido como yo. No te olvides de eliminar espacios. android:gravity="center_horizontal|bottom" pero android:gravity="center_horizontal | bottom" no es válido.

Cuestiones relacionadas