0Pricing
Android Academy · Pelajaran

List dengan LazyColumn

Tampilkan list yang dapat digulir secara efisien.

List dengan LazyColumn adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 4 pelajaran total.

Mengapa Tidak Cukup Menggunakan Column?

Column menyusun semua turunannya sekaligus. Untuk daftar panjang atau yang dapat digulir, hal ini memboroskan memori dan memperlambat UI. Anda memerlukan daftar yang hanya membuat item yang terlihat.

Gunakan LazyColumn

LazyColumn adalah daftar vertikal yang dapat digulir dan hanya menyusun item yang sedang terlihat di layar — seperti RecyclerView lama, tetapi jauh lebih sederhana.

LazyColumn {
    items(messages) { msg ->
        Text(text = msg)
    }
}

Fungsi items()

Di dalam lambda LazyColumn, Anda memanggil items(list) dan memberinya composable untuk setiap elemen. Compose memanggilnya secara lambat saat pengguna menggulir.

LazyColumn {
    items(users) { user ->
        Text(text = user.name)
    }
}

Bukan Perulangan Biasa

Jangan gunakan perulangan for biasa di dalam LazyColumn — hal itu menghilangkan manfaat pemuatan lambat. Selalu gunakan items() (atau itemsIndexed()) agar Compose dapat membuat item sesuai kebutuhan.

Satu Item Header

Gunakan item { } (bentuk tunggal) untuk menambahkan satu elemen tetap, seperti header, sebelum item yang diulang.

LazyColumn {
    item { Text("Header") }
    items(data) { Text(it) }
}

itemsIndexed

Saat Anda memerlukan posisi, gunakan itemsIndexed untuk mendapatkan indeks dan elemen sekaligus.

LazyColumn {
    itemsIndexed(data) { index, value ->
        Text(text = "$index: $value")
    }
}

Kunci untuk Stabilitas

Berikan key yang stabil untuk setiap item agar Compose dapat melacak item dengan benar saat daftar berubah — sehingga performa dan animasi meningkat.

items(users, key = { it.id }) { user ->
    Text(user.name)
}

Memberi Jarak pada Item

LazyColumn menerima verticalArrangement dan contentPadding untuk memberi jarak antaritem dan padding pada tepi daftar.

LazyColumn(
    verticalArrangement = Arrangement.spacedBy(8.dp),
    contentPadding = PaddingValues(16.dp)
) {
    items(data) { Text(it) }
}

LazyRow

Tersedia juga LazyRow untuk daftar horizontal yang dapat digulir — API-nya sama, arahnya berbeda. Cocok untuk karusel kartu.

LazyRow {
    items(images) { img ->
        Image(painter = img, contentDescription = null)
    }
}

Pengguliran Bawaan

Anda tidak perlu menambahkan modifier pengguliran ke LazyColumn — pengguliran berjalan otomatis. Menambahkan verticalScroll akan menimbulkan konflik dan menyebabkan aplikasi mogok. Daftar Lazy menangani penggulungannya sendiri.

Menyatukan Semuanya

Daftar item dengan header, kunci, dan jarak.

@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)
        }
    }
}

Pemeriksaan Singkat

Apa keunggulan utama LazyColumn dibandingkan Column yang dapat digulir?

Ringkasan

LazyColumn:

  • Hanya membuat item yang terlihat — efisien untuk daftar panjang.
  • Gunakan items() / itemsIndexed(), bukan perulangan for.
  • Tambahkan key untuk stabilitas; gunakan item { } untuk header.
  • Menggulir secara otomatis — tanpa modifier pengguliran. LazyRow adalah versi horizontalnya.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “List dengan LazyColumn” gratis?

Ya — teks lengkap “List dengan LazyColumn” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “List dengan LazyColumn”?

Tampilkan list yang dapat digulir secara efisien. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Android Academy?

Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “List dengan LazyColumn” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?

Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Column, Row, dan Box
  2. Sistem Modifier
  3. Perataan dan Penataan
  4. List dengan LazyColumn
← Kembali ke Android Academy