Android Uygulamalarında GridView VS GridLayout


212

Android'de Fotoğraf Tarayıcıyı uygulamak için bir Izgara kullanmam gerekiyor. Yani, GridView ve GridLayout arasındaki farkı bilmek istiyorum .

Böylece doğru olanı seçeceğim.

Şu anda görüntüleri dinamik olarak görüntülemek için GridView kullanıyorum.

Yanıtlar:


264

Bir GridView bir ViewGroup olduğunu iki boyutlu kaydırma ızgarasında görüntüler öğeler. Izgaradaki öğeler, bu görünümle ilişkili ListAdapter öğesinden gelir.

Kullanmak istediğiniz şey budur (kullanmaya devam edin). Bir GridView verilerini ListAdapter'ten aldığından, belleğe yüklenen tek veri ekranda görüntülenecektir. GridViews, ListViews gibi daha iyi performans için görünümlerini yeniden kullanır ve geri dönüştürür.

Oysa GridLayout , çocuklarını dikdörtgen bir ızgaraya yerleştiren bir düzendir.

API düzey 14'te tanıtıldı ve kısa süre önce Destek Kütüphanesinde desteklendi. Temel amacı, diğer mizanpajlardaki uyum ve performans sorunlarını çözmektir. GridLayout hakkında daha fazla bilgi edinmek istiyorsanız bu eğiticiye göz atın .


15
GridLayout aynı zamanda bir ViewGroup.
Dzmitry Lazerka

22
Asla öyle olmadığını söylemedim. Sadece bir düzen olduğu gerçeğine vurgu yapıyordum.
Benito Bertoli

16
@laki bir senaryo, Grid benzeri bir formasyona bir grup görüntü yüklemek istiyorsanız olacaktır. GridView kullanıldığında yalnızca ekranda görünen görünümler belleğe yüklenir. Bir GridLayout kullanırsanız, herhangi bir zamanda görüntülenecek tüm görüntüleri yüklemeniz gerekir ve çoğu aygıtta otomatik bellek hatasına neden olur.
BigBen3216

15
Temel fark, GridView'un yalnızca tek biçimli sütun genişliğini barındırabileceği gibi görünüyor. Izgara Düzeni, 2 veya daha fazla sütuna yayılan içeriğe sahip olmanızı sağlar. Izgara Düzeni, farklı sütun boyutlarını kapsayan içeriğe sahip ekranlar tasarlamanızı sağlar
Yasir

58
@laki Birinci Senaryo: Bir hesap makinesi, GridLayout çizin. İkinci senaryo: Bir galeri çizin, GridView.
Mario Velasco
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.