2010-05-16 4 views
8

Estoy tratando de alinear los cuatro cuadrados de igual tamaño en una pantalla de Android & Ahora he intentado lo que se siente como un millón de enfoques diferentes, pero ninguno de ellos parece funcionar :(Android:. La alineación de cuatro plazas

lo que tengo en este momento es la siguiente:.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:id="@+id/MasterLayout" android:layout_width="wrap_content"  android:layout_height="fill_parent" android:background="#FFFFFF"> 
<TableLayout android:layout_width="fill_parent" android:id="@+id/mainlay" android:background="#444444" android:layout_weight="0.2" android:layout_height="wrap_content" android:padding="0dip"> 
    <TableRow android:layout_weight="1" android:background="#BBBBBB" android:padding="0dip"> 
     <ImageView android:id="@+id/ImageView1" android:layout_marginLeft="10px" android:layout_weight="1" android:layout_marginRight="5px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView> 
     <ImageView android:id="@+id/ImageView2" android:layout_marginLeft="5px" android:layout_weight="1" android:layout_marginRight="10px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView> 
    </TableRow> 
    <TableRow android:layout_weight="1" android:padding="0dip"> 
     <ImageView android:id="@+id/ImageView3" android:layout_marginLeft="10px" android:layout_weight="1" android:layout_marginRight="5px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView> 
     <ImageView android:id="@+id/ImageView4" android:layout_marginLeft="5px" android:layout_weight="1" android:layout_marginRight="10px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView> 
    </TableRow> 
</TableLayout> 
</LinearLayout> 

básicamente, esto hace el trabajo Sin embargo, cada uno de esos cuatro imágenes tiene un enorme relleno de arriba y debajo de ella ¿Cómo deshacerse de eso. ? O tengo que utilizar un tipo de diseño diferente alltogether?

Para ayudar a ilustrar mi problema, aquí hay una imagen. A la izquierda está lo que obtuve, a la derecha está lo que necesito. Image

¡Muchas gracias!

¡Salud, Markus!

Respuesta

3

Elimina layout_weight de tus TableRows y configura su layout_height en wrap_content. A continuación, agregue un TableRow vacío debajo de ellos con layout_height establecido en fill_parent.

+0

¡Gracias! Este truco con el diseño fill_parent fue lo que estaba buscando. – metter

0

Pruebe usar scaleType como centerCrop, si el tamaño de la imagen es mayor, esto le servirá. Pero esta no es la mejor manera de hacerlo, mejor sería cambiar los recursos de imagen.

HTH!

+0

Hola Karan. Gracias por su consejo. Sin embargo, parece que mi descripción no fue muy clara (y especialmente la imagen); Necesito que los cuadrados sigan siendo cuadrados. Deben ser lo más grandes posible en una grilla de 2x2. Pero el espacio restante en la pantalla no debe estar entre los cuatro cuadrados, sino debajo de ellos en la parte inferior de la pantalla. ¿Tiene un puntero para mí? Gracias. – metter

0

Intenta configurar la altura de ImageView en fill_parent, creo que eso debería ser el truco. De todos modos, sería útil si sus propiedades XML estuvieran divididas en líneas, es difícil para el resto de nosotros leer una sola línea de propiedades.

Además, ¿por qué coloca un TableLayout dentro de un LinearLayout? A menos que tengas más elementos dentro de ese Linear, puedes deshacerte de él.

+0

Desafortunadamente, esto no tuvo el efecto deseado. Gracias anayway por tu tiempo! @ Code; tienes razón. Ahora lo he reestructurado en varias líneas. – metter

Cuestiones relacionadas