Flutter’da ListView, dikey veya yatay olarak sıralanmış bir liste oluşturmak için kullanılan bir widget’tır. ListView, içerisinde farklı türlerde widget’ları barındırabilir ve içeriği dinamik olarak ekleyip kaldırmanıza izin verir. ListView, ekranın dışına taşan içeriği otomatik olarak kaydırılabilir hale getirir ve görüntülenecek öğeleri yalnızca ekrana sığdırmak için gerektiğinde yükler, bu da performansı artırır. İşte ListView’in bazı özellikleri:
- itemBuilder: ListView’deki her öğe için bir widget döndüren bir builder fonksiyonudur. Bu, ListView’deki her öğenin nasıl oluşturulacağını belirlemenize olanak tanır.
Örneğin:
ListView.builder( itemCount: items.length, itemBuilder: (context, index) { return ListTile( title: Text(items[index]), ); }, )
- itemCount: ListView’deki toplam öğe sayısını belirten bir parametredir. Bu sayede ListView, listedeki öğeleri saymak ve ekrana sığacak öğeleri yüklemek için kullanılır.
- scrollDirection: ListView’in dikey veya yatay olarak kaydırılıp kaydırılamayacağını belirleyen bir parametredir. Varsayılan değeri dikeydir, ancak yatay kaydırma için Axis.horizontal değerini kullanabilirsiniz.
- padding: ListView’in içerisine yerleştirilecek boşluk miktarını belirten bir parametredir.
- physics: ListView’in nasıl davranacağını belirleyen bir parametredir. Buna örnek olarak ScrollPhysics veya BouncingScrollPhysics kullanabilirsiniz.
- shrinkWrap: ListView’in içeriğini sığdırmak için boyutunu küçültüp küçültmemeyi belirleyen bir parametredir. Varsayılan değeri false’dur.
- separatorBuilder: ListView’deki öğeler arasına yerleştirilecek bir ayırıcı (seperator) widget’ı oluşturan bir builder fonksiyonudur. Bu, öğeler arasında boşluklar eklemek veya bir çizgi gibi bir ayırıcı eklemek için kullanılabilir.
Örneğin:
ListView.separated( itemCount: items.length, itemBuilder: (context, index) { return ListTile( title: Text(items[index]), ); }, separatorBuilder: (context, index) { return Divider(); }, )
Bu özellikler, Flutter’da ListView kullanırken yaygın olarak kullanılan bazı özelliklerdir. ListView, dinamik içeriği sıralamak ve kaydırmalı listeler oluşturmak için çok yönlü bir widget’tır.