LazyColumn ile Listeler
Kaydırılabilir listeleri verimli biçimde görüntüleyin.
LazyColumn ile Listeler, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.
Neden Sadece Column Kullanmayalım?
Bir Column, tüm alt öğelerini aynı anda oluşturur. Uzun veya kaydırılabilir bir liste için bu, belleği boşa harcar ve kullanıcı arayüzünü yavaşlatır. Yalnızca görünür öğeleri oluşturan bir listeye ihtiyacınız vardır.
LazyColumn Kullanımı
LazyColumn, yalnızca o anda ekranda bulunan öğeleri oluşturan, kaydırılabilir dikey bir listedir — eski RecyclerView gibidir, ancak çok daha basittir.
LazyColumn {
items(messages) { msg ->
Text(text = msg)
}
}items() İşlevi
LazyColumn lambda'sı içinde items(list) çağrısı yapar ve her öğe için bir composable sağlarsınız. Compose, kullanıcı kaydırdıkça bunu tembel bir şekilde çağırır.
LazyColumn {
items(users) { user ->
Text(text = user.name)
}
}Normal Bir Döngü Değildir
LazyColumn içinde normal bir for döngüsü kullanmayın — bu, tembel oluşturmayı geçersiz kılar. Compose'un öğeleri gerektiğinde oluşturabilmesi için her zaman items() (veya itemsIndexed()) kullanın.
Tek Bir Üst Bilgi Öğesi
Döngüyle oluşturulan öğelerden önce üst bilgi gibi tek bir sabit öğe eklemek için tekil biçimde item { } kullanın.
LazyColumn {
item { Text("Header") }
items(data) { Text(it) }
}itemsIndexed
Konuma ihtiyaç duyduğunuzda hem dizini hem de öğeyi almak için itemsIndexed kullanın.
LazyColumn {
itemsIndexed(data) { index, value ->
Text(text = "$index: $value")
}
}Kararlılık İçin Anahtarlar
Liste değiştiğinde Compose'un öğeleri doğru şekilde takip edebilmesi ve performansı ve animasyonları iyileştirebilmesi için her öğeye kararlı bir key sağlayın.
items(users, key = { it.id }) { user ->
Text(user.name)
}Öğeler Arasına Boşluk Ekleme
LazyColumn, öğeler arasına boşluk eklemek ve listenin kenarlarına iç kenar boşluğu vermek için verticalArrangement ve contentPadding kabul eder.
LazyColumn(
verticalArrangement = Arrangement.spacedBy(8.dp),
contentPadding = PaddingValues(16.dp)
) {
items(data) { Text(it) }
}LazyRow
Yatay kaydırılan listeler için LazyRow da vardır — API aynıdır, yalnızca yön farklıdır. Kart karuselleri için idealdir.
LazyRow {
items(images) { img ->
Image(painter = img, contentDescription = null)
}
}Yerleşik Kaydırma
LazyColumn öğesine bir kaydırma değiştiricisi eklemezsiniz — kendisi otomatik olarak kaydırılır. verticalScroll eklemek çakışmaya ve çökmeye neden olur. Lazy listeler kaydırmayı kendileri yönetir.
Hepsini Birleştirme
Üst bilgisi, anahtarları ve boşlukları olan bir öğe listesi.
@Composable
fun MessageList(messages: List<Message>) {
LazyColumn(
verticalArrangement = Arrangement.spacedBy(8.dp)
) {
item { Text("Inbox") }
items(messages, key = { it.id }) { msg ->
Text(text = msg.text)
}
}
}Hızlı Kontrol
LazyColumn öğesinin kaydırılabilir bir Column karşısındaki temel avantajı nedir?
Özet
LazyColumn:
- Yalnızca görünür öğeleri oluşturur — uzun listeler için verimlidir.
fordöngüsü yerineitems()/itemsIndexed()kullanın.- Kararlılık için bir
keyekleyin; üst bilgiler içinitem { }kullanın. - Otomatik olarak kaydırılır — kaydırma değiştiricisi gerekmez.
LazyRowyatay sürümüdür.
Sıkça Sorulan Sorular
“LazyColumn ile Listeler” dersi ücretsiz mi?
Evet — “LazyColumn ile Listeler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.
“LazyColumn ile Listeler” dersinde ne öğreneceğim?
Kaydırılabilir listeleri verimli biçimde görüntüleyin. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Android Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“LazyColumn ile Listeler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Column, Row ve Box
- Modifier Sistemi
- Hizalama ve Düzenleme
- LazyColumn ile Listeler