El control GridView de Android presenta al usuario un conjunto de opciones seleccionables distribuidas de forma tabular, o dicho de otra forma, divididas en filas y columnas

CONTROL GRIDVIEW

Propiedades mas importantes

android:numColumns

Indica el numero de columnas de la tabla

android: columnWidth

Indica el ancho de la columna de la tabla

android: horizontalSpacing

Indica el espacio horizontal entre ellas

android:verticalSpacing

Indica el espacio vertical entre celdas

android:stretchMode

Indica qué hacer con el espacio horizontal sobrante.

Ejemplo de un GridView

<GridView android:id="@+id/GridOpciones"
android:layout_width="match_parent"
android:layout_height="match_parent"

android:numColumns="auto_fit"

android:columnWidth="80px"

android:horizontalSpacing="5dp"

android:verticalSpacing="10dp"

android:stretchMode="columnWidth" />

ahora le asignaremos los datos desde el código de la aplicación

private String[] datos = new String[50];
//...
for(int i=1; i<=50; i++)

datos[i-1] = "Dato " + i;

ArrayAdapter<String> adaptador =

new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, datos);

grdOpciones = (GridView)findViewById(R.id.GridOpciones);

grdOpciones.setAdapter(adaptador);