Estamos escribiendo una aplicación dirigida a ICS + y creemos que un GridLayout es el mejor paradigma de diseño, pero parece que se ha escrito muy poco al respecto, y estamos teniendo algunos problemas de alineación.horizontalmente Vistas centrales dentro de Android GridLayout
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row_background"
android:rowCount="1"
android:columnCount="3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:useDefaultMargins="true"
android:background="@drawable/list_item_bg">
<ImageView
android:id="@+id/visibilityIcon"
android:layout_row="0"
android:layout_column="0"
android:src="@drawable/visibility_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>
<ImageView
android:id="@+id/windIcon"
android:layout_row="0"
android:layout_column="1"
android:src="@drawable/wind_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>
<ImageView
android:id="@+id/crosswindIcon"
android:layout_row="0"
android:layout_column="2"
android:src="@drawable/cloud_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>
</GridLayout>
Sin embargo, la izquierda 2 iconos permanecen alineados a la izquierda, y los centros de más a la derecha del icono con el espacio restante.
Esencialmente lo que tenemos que hacer es especificar el tamaño de cada columna para que sea 1/3 (desde 3 columnas) del tamaño total de la pantalla. Pensé que esto es lo que hizo GridLayout, pero parece que 'wrap_content' causa este comportamiento (tiene sentido), pero 'match_parent' hace que la primera columna llene toda la pantalla, en lugar de llenar su celda, que es el comportamiento que esperaba.
Parece que hemos probado todas las combinaciones de gravedad, layout_gravity, etc., pero o bien estamos fundamentalmente haciendo algo mal, o hemos encontrado una limitación de GridLayout.
Gracias por su ayuda!
¡GridLayout parece inútil! –