Grid Layout en Android

Christian Barco
2 min readJul 26, 2020

En android podemos utilizar dos Grid Layouts: android.widget.GridLayout y androidx.gridlayout.widget.GridLayout. Recomendable utilizar el Gridlayout que pertenece al paquete androidx el cual vamos a utilizar a continuación.

Importar dependencia

Componentes de vista para ser utilizados, entre esos se encuentra el GridLayout

Se debe añadir la siguiente dependencia en nuestro archivo build.gradle:

implementation 'androidx.gridlayout:gridlayout:1.0.0'

En nuestro archivo de vista debemos utilizar el Grid Layout importado de esa dependencia, así:

<androidx.gridlayout.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

</androidx.gridlayout.widget.GridLayout>

Ejemplo Básico

El siguiente es un ejemplo sencillo con 6 iconos que ocupan toda la pantalla:

Diseño básico utilizando Grid Layout y seis iconos como recursos
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<androidx.gridlayout.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:columnCount="2"
app:useDefaultMargins="true">

<ImageView
android:src="@drawable/ic_forbidden"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />

<ImageView
android:src="@drawable/ic_qr_code_scanner_black"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />

<ImageView
android:src="@drawable/ic_forbidden"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />

<ImageView
android:src="@drawable/ic_forbidden"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />

<ImageView
android:src="@drawable/ic_forbidden"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />

<ImageView
android:src="@drawable/ic_forbidden"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
</androidx.gridlayout.widget.GridLayout>
</layout>

Para conocer más acerca de este componente que ha quedado un poco en desuso puede consultar la documentación oficial: https://developer.android.com/reference/kotlin/androidx/gridlayout/widget/GridLayout

¡Sígueme!, es gratis 🤙

Sin mas, solo queda decirte que me Sigas en Medium y que revises mis otras publicaciones, puede que encuentres algo interesante (nunca se sabe 😄). ¡Nos vemos luego!

--

--

Christian Barco

Senior Java Developer at Globant +9 years of experience in software development