Android: Alineación de cuatro cuadrados

Estoy tratando de alinear cuatro cuadrados de igual tamaño en una pantalla de Android y ahora he intentado lo que se siente como un millón de enfoques diferentes, sin embargo, ninguno de ellos parece funcionar :(.

Lo que tengo en este momento es lo 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> 

Esto básicamente hace el trabajo. Sin embargo, cada una de esas cuatro imágenes tiene un relleno enorme por encima y por debajo. ¿Cómo me deshago de eso? ¿O necesito usar un tipo de Layout diferente alltogether?

Para ayudar a ilustrar mi problema, aquí está una imagen. A la izquierda es lo que tengo, a la derecha es lo que necesito. Imagen

¡Muchas gracias!

¡Saludos, Markus!

3 Solutions collect form web for “Android: Alineación de cuatro cuadrados”

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

Trate de usar el scaleType como centerCrop, si el tamaño de la imagen es mayor, entonces esto hará el truco para usted. Pero esta no es la mejor manera de hacerlo, mejor sería cambiar los recursos de la imagen.

HTH!

Intente fijar la altura de ImageView a fill_parent, pienso que debe hacer el truco. De todos modos, sería de ayuda si sus propiedades XML se dividen en líneas, es difícil para el resto de nosotros para 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.

  • ¿Es posible crear esta forma simple en Android XML?
  • ¿Cómo maneja el XmlPullParser de Android las vulnerabilidades?
  • Cómo generar un entero con los métodos de TextView?
  • Android xml dibujable imagen en pantalla completa de fondo
  • OnItemClickListener de spinner
  • Android: ¿cómo usar los colores del tema actual en un xml extraíble?
  • Android: html en strings.xml
  • Error: (27) No se encontró ningún identificador de recurso para el atributo 'srcCompat' en el paquete 'com.example.jaisonjoseph.newsclient'
  • ImageView src con el selector extraíble ignora el estado habilitado
  • FrameLayout no se puede convertir en android.widget.AbsListView
  • ¿Por qué mi EditText se expandió horizontalmente o verticalmente después de configurar Width and Height como wrap_content en android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.