GridView VS GridLayout in Android Apps


212

Ich muss ein Raster verwenden, um den Fotobrowser in Android zu implementieren. Daher möchte ich den Unterschied zwischen GridView und GridLayout kennen .

Damit ich den richtigen wähle.

Derzeit verwende ich GridView, um die Bilder dynamisch anzuzeigen.

Antworten:


264

Eine GridView ist eine ViewGroup, die Elemente in einem zweidimensionalen Bildlaufraster anzeigt. Die Elemente im Raster stammen aus dem ListAdapter, der dieser Ansicht zugeordnet ist.

Dies ist, was Sie verwenden möchten (weiterhin verwenden). Da eine GridView ihre Daten von einem ListAdapter erhält, werden nur die auf dem Bildschirm angezeigten Daten in den Speicher geladen. GridViews, ähnlich wie ListViews, verwenden ihre Ansichten wieder und recyceln sie für eine bessere Leistung.

Während ein GridLayout ein Layout ist, das seine untergeordneten Elemente in einem rechteckigen Raster platziert.

Es wurde in API Level 14 eingeführt und kürzlich in die Support Library zurückportiert. Der Hauptzweck besteht darin, Ausrichtungs- und Leistungsprobleme in anderen Layouts zu lösen. Schauen Sie sich dieses Tutorial an, wenn Sie mehr über GridLayout erfahren möchten.


15
GridLayout ist auch eine ViewGroup.
Dzmitry Lazerka

22
Ich habe nie gesagt, dass es nicht so ist. Ich habe nur betont, dass es sich um ein Layout handelt.
Benito Bertoli

16
@laki Ein Szenario wäre, wenn Sie eine Reihe von Bildern in eine gitterähnliche Formation laden möchten. Bei Verwendung von GridView werden nur die auf dem Bildschirm sichtbaren Ansichten in den Speicher geladen. Wenn Sie dagegen ein GridLayout verwenden, müssen Sie alle Bilder laden, die jederzeit angezeigt werden, was bei den meisten Geräten zu einem Speicherfehler führt.
BigBen3216

15
Der grundlegende Unterschied scheint zu sein, dass GridView nur eine einheitliche Spaltenbreite aufnehmen kann. Mit dem Rasterlayout können Sie Inhalte in zwei oder mehr Spalten erstellen. Raster Layout ermöglicht es Ihnen, Bildschirme mit Inhalten über verschiedene Spaltengrößen zu entwerfen
Yasir

58
@laki Szenario eins: Zeichne einen Taschenrechner, GridLayout. Szenario zwei: Zeichnen Sie eine Galerie, GridView.
Mario Velasco
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.