Memungkinkan interaksi pengguna

Jetpack Compose memungkinkan interaksi yang lebih mendetail di Text. Pemilihan teks kini lebih fleksibel dan dapat dilakukan di seluruh tata letak composable. Interaksi pengguna dalam teks berbeda dengan tata letak composable lainnya, karena Anda tidak dapat menambahkan pengubah ke bagian dari composable Text. Halaman ini menyoroti API yang memungkinkan interaksi pengguna.

Pilih teks

Secara default, composable tidak dapat dipilih, yang berarti pengguna tidak dapat memilih dan menyalin teks dari aplikasi Anda. Untuk mengaktifkan pemilihan teks, gabungkan elemen teks Anda dengan composable SelectionContainer:

@Composable
fun SelectableText() {
    SelectionContainer {
        Text("This text is selectable")
    }
}

Teks singkat yang dipilih oleh pengguna.

Anda mungkin ingin menonaktifkan pilihan pada bagian tertentu dari area yang dapat dipilih. Untuk melakukannya, Anda harus menggabungkan bagian yang tidak dapat dipilih dengan composable DisableSelection:

@Composable
fun PartiallySelectableText() {
    SelectionContainer {
        Column {
            Text("This text is selectable")
            Text("This one too")
            Text("This one as well")
            DisableSelection {
                Text("But not this one")
                Text("Neither this one")
            }
            Text("But again, you can select this one")
            Text("And this one too")
        }
    }
}

Teks yang lebih panjang. Pengguna mencoba memilih seluruh bagian, tetapi karena dua baris telah menerapkan DisableSelection, keduanya tidak dipilih.

Membuat bagian teks yang dapat diklik dengan LinkAnnotation

Untuk memproses klik pada Text, Anda dapat menambahkan pengubah clickable. Namun, Anda mungkin ingin melampirkan informasi tambahan ke bagian tertentu dari nilai Text, seperti URL yang terkait dengan kata tertentu yang akan dibuka di browser. Dalam kasus seperti ini, Anda perlu menggunakan LinkAnnotation, yang merupakan anotasi yang mewakili bagian teks yang dapat diklik.

Dengan LinkAnnotation, Anda dapat melampirkan URL ke bagian composable Text yang otomatis terbuka setelah diklik, seperti yang ditunjukkan dalam cuplikan berikut:

Anda juga dapat mengonfigurasi tindakan kustom sebagai respons terhadap klik pengguna pada bagian composable Text. Dalam cuplikan berikut, saat pengguna mengklik "Jetpack Compose", link akan ditampilkan, dan metrik akan dicatat ke dalam log jika pengguna mengklik link: