Semua komponen Glimmer Jetpack Compose dirancang untuk bekerja dengan metode input standar, seperti ketuk atau geser pada touchpad kacamata, sekaligus responsif terhadap perintah input tingkat bawah yang khusus untuk hardware pada kacamata tampilan. Komponen Glimmer Jetpack Compose secara otomatis menangani peristiwa input yang diperlukan.
Untuk tindakan standar seperti scroll dan tarik, gunakan komponen Glimmer Jetpack Compose untuk meningkatkan pengalaman yang konsisten. Namun, untuk komponen kustom atau
perilaku interaksi khusus, Anda dapat menggunakan API Compose yang ada seperti
Modifier.draggable atau Modifier.scrollable.
Input dan fokus pointer
Pada kacamata tampilan, input penunjuk dapat memengaruhi fokus:
- Ketuk: Interaksi langsung untuk mengaktifkan elemen. Fokus berpindah ke elemen saat pengguna berinteraksi dengannya.
- Menggeser: Digunakan untuk navigasi dan men-scroll. Gestur geser yang tidak ditangani diterjemahkan secara otomatis menjadi gerakan fokus, sehingga memungkinkan navigasi UI yang lancar tanpa input penunjuk langsung.
Perilaku dan urutan navigasi
Pergerakan fokus dan perubahan urutan saat pengguna menavigasi aplikasi Anda.
Pergerakan fokus
Pada penampung yang dapat di-scroll, fokus berpindah secara berkelanjutan dengan gesekan di touchpad. Untuk elemen diskret seperti deretan tombol, setiap gesekan akan memindahkan fokus satu elemen dalam satu waktu.
Urutan fokus
Sama seperti di Jetpack Compose, Jetpack Compose Glimmer menggunakan penelusuran fokus satu dimensi. Untuk mempelajari lebih lanjut urutan traversal fokus, lihat Mengubah urutan traversal fokus.
Untuk mengubah item yang awalnya difokuskan, Anda dapat menambahkan
Modifier.focusGroup() tingkat teratas dan menentukan onEnter
focusProperty kustom:
Modifier.focusProperties {
onEnter = {
initialFocus.requestFocus()
// Prevent focus from exiting the group
cancelFocusChange()
}
}
.focusGroup()
Men-scroll penampung
Untuk pengalaman pengguna yang optimal, penampung scroll seperti daftar harus menjadi satu-satunya komponen utama di layar. Hindari menempatkan daftar yang dapat di-scroll tepat di atas atau di bawah elemen interaktif lainnya, seperti tombol, untuk mencegah kebingungan navigasi dan meningkatkan pergerakan fokus yang lancar dan dapat diprediksi.
Status fokus default
Jetpack Compose Glimmer menerapkan status fokus default di seluruh komponennya yang dapat berinteraksi, termasuk permukaan, kartu, dan item daftar, sehingga meningkatkan respons visual yang konsisten dan jelas selama interaksi pengguna.
Default: Warna latar belakang tombol berasal dari
GlimmerTheme.colors.surface, konten utamanya menghitung warna konten permukaan tersebut.Berfokus: Lebar batas ditingkatkan untuk mengomunikasikan fokus.
Berfokus + Ditekan: Latar belakang disetel ke
GlimmerTheme.colors.surfacedengan peningkatan keburaman untuk mengomunikasikan status yang dipilih.