GridView VS GridLayout in App Android


212

Devo usare una griglia per implementare Photo Browser in Android. Quindi, vorrei sapere la differenza tra GridView e GridLayout .

In modo che sceglierò quello giusto.

Attualmente sto usando GridView per visualizzare le immagini in modo dinamico.

Risposte:


264

Un GridView è un ViewGroup che visualizza gli elementi nella griglia di scorrimento bidimensionale. Gli elementi nella griglia provengono da ListAdapter associato a questa vista.

Questo è quello che vorresti usare (continua ad usare). Poiché un GridView ottiene i suoi dati da un ListAdapter, gli unici dati caricati in memoria saranno quelli visualizzati sullo schermo. GridView, molto simile a ListView, riutilizza e ricicla le visualizzazioni per prestazioni migliori.

Considerando che un GridLayout è un layout che posiziona i suoi figli in una griglia rettangolare.

È stato introdotto nel livello API 14 ed è stato recentemente eseguito il backport nella libreria di supporto. Il suo scopo principale è risolvere i problemi di allineamento e prestazioni in altri layout. Dai un'occhiata a questo tutorial se vuoi saperne di più su GridLayout.


15
GridLayout è anche un ViewGroup.
Dzmitry Lazerka,

22
Non ho mai detto di no. Stavo solo sottolineando il fatto che si tratta di un layout.
Benito Bertoli,

16
@laki sarebbe uno scenario se si desidera caricare un gruppo di immagini in una griglia come formazione. L'uso di GridView carica solo in memoria le viste visibili sullo schermo. Considerando che se si utilizza un GridLayout, è necessario caricare tutte le immagini che verranno visualizzate in qualsiasi momento, causando un errore di memoria esterna nella maggior parte dei dispositivi.
BigBen3216

15
La differenza di base sembra essere che GridView può contenere solo una larghezza di colonna uniforme in tutto. Grid Layout ti consente di avere contenuto che si estende su 2 o più colonne. Grid Layout consente di progettare schermate con contenuti che coprono diverse dimensioni di colonna
Yasir

58
@laki Scenario 1: disegna una calcolatrice, GridLayout. Scenario due: disegna una galleria, GridView.
Mario Velasco,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.