Kartu di Jetpack Compose Glimmer

Perangkat XR yang kompatibel
Panduan ini membantu Anda membangun pengalaman untuk jenis perangkat XR ini.
Kacamata Display

Di Jetpack Compose Glimmer, komponen Card berfungsi sebagai penampung utama untuk konten terkait, sehingga menciptakan batas visual yang jelas untuk unit informasi yang mudah dicerna. Kartu sangat mudah disesuaikan, mendukung kombinasi konten utama, judul opsional, subtitel, dan ikon di awal atau akhir. Kartu mengisi lebar maksimum yang tersedia secara default, dapat difokuskan, dan Anda juga dapat membuatnya dapat diklik. Kartu mendukung susunan vertikal dengan gambar header di paling atas, diikuti dengan judul, subjudul, dan konten isi.

Kartu dibuat di sistem platform Jetpack Compose Glimmer, sehingga kartu mewarisi properti fisik seperti efek kedalaman, kliping, dan sorotan batas yang konsisten.

Gambar 1. Contoh beberapa gaya kartu yang berbeda di Jetpack Compose Glimmer.

Anatomi dan slot

Kartu Glimmer Jetpack Compose dibuat dari beberapa elemen khusus yang memungkinkan Anda menyesuaikan konten dan tata letaknya.

Slot Deskripsi

Header

Bagian atas kartu, yang didesain untuk menampung gambar.

Judul dan subjudul

Kolom teks ini menyediakan label utama dan sekunder untuk kartu. Judul ditempatkan di atas subtitel.

Ikon utama

Ikon opsional (biasanya Icon) yang muncul di awal area konten kartu.

Ikon di akhir

Ikon opsional yang muncul di akhir area konten kartu.

Tindakan

Slot untuk elemen interaktif utama, seperti Button.

Konten utama

Isi utama kartu untuk Text atau konten utama.

Kartu default

Default berikut berlaku untuk kartu:

Contoh: Kartu dasar

Kode berikut membuat kartu dasar:

@Composable
fun CardSample() {
    Card { Text("This is a card") }
}

Contoh: Kartu kompleks dengan beberapa slot

Kode berikut menunjukkan cara menggunakan beberapa slot bersama-sama untuk membuat kartu.

@Composable
fun CardWithTitleAndLeadingIconAndHeaderAndAction() {
    Card(
        action = {
            Button(onClick = {}, trailingIcon = { Icon(FavoriteIcon, "Localized description") }) {
                Text("Send")
            }
        },
        title = { Text("Title") },
        leadingIcon = { Icon(FavoriteIcon, "Localized description") },
        header = {
            Image(MyHeaderImage, "Localized description", contentScale = ContentScale.FillWidth)
        },
    ) {
        Text("This is a card with a title, leading icon, header image, and action")
    }
}

Poin penting tentang kode

  • Menunjukkan cara menggunakan berbagai elemen kartu, seperti header, title, leadingIcon, dan action, untuk menyesuaikan konten dan struktur kartu.
  • Menggunakan penggantian Card standar dengan tindakan karena hanya kartu (atau tindakan internalnya) yang perlu difokuskan. Jika Anda perlu membuat seluruh permukaan kartu interaktif, gunakan penggantian Card dengan onClick.
  • Kartu ini menggunakan slot tindakan, sehingga permukaan kartu tidak dapat difokuskan, dan fokus diarahkan ke tombol tindakan.