GridView VS GridLayout en aplicaciones de Android

212

Tengo que usar un Grid para implementar Photo Browser en Android. Entonces, me gustaría saber la diferencia entre GridView y GridLayout .

Para que yo elija la correcta.

Actualmente estoy usando GridView para mostrar las imágenes dinámicamente.

Lakshmi Sreekanth Chitla
fuente

Respuestas:

264

Un GridView es un ViewGroup que muestra elementos en una cuadrícula de desplazamiento bidimensional. Los elementos en la cuadrícula provienen del ListAdapter asociado con esta vista.

Esto es lo que te gustaría usar (sigue usando). Debido a que un GridView obtiene sus datos de un ListAdapter, los únicos datos cargados en la memoria serán los que se muestran en la pantalla. GridViews, al igual que ListViews, reutiliza y recicla sus vistas para un mejor rendimiento.

Mientras que un GridLayout es un diseño que coloca a sus hijos en una cuadrícula rectangular.

Se introdujo en el nivel 14 de la API y recientemente se incluyó en la Biblioteca de soporte. Su objetivo principal es resolver problemas de alineación y rendimiento en otros diseños. Consulte este tutorial si desea obtener más información sobre GridLayout.

Benito Bertoli
fuente
15
GridLayout también es un ViewGroup.
Dzmitry Lazerka
22
Nunca dije que no lo fuera. Solo estaba enfatizando el hecho de que es un diseño.
Benito Bertoli
16
Un escenario de @laki sería si desea cargar un montón de imágenes en una cuadrícula como formación. El uso de GridView solo cargaría en la memoria las vistas visibles en la pantalla. Mientras que si usa un GridLayout, deberá cargar todas las imágenes que se mostrarán en cualquier momento, lo que provocará un error de memoria en la mayoría de los dispositivos.
BigBen3216
15
La diferencia básica parece ser que GridView solo puede acomodar un ancho de columna uniforme. El diseño de cuadrícula le permite tener contenido que abarca 2 o más columnas. El diseño de cuadrícula le permite diseñar pantallas con contenido que abarca diferentes tamaños de columna
Yasir
58
@laki Escenario uno: Dibuja una calculadora, GridLayout. Escenario dos: dibujar una galería, GridView.
Mario Velasco