FocusManager memungkinkan Anda memindahkan fokus secara terarah atau menghapusnya sepenuhnya.
Gunakan FocusRequester untuk penargetan komponen langsung (lihat Meminta fokus secara terprogram).
Gerakan fokus terarah dengan FocusManager
Untuk memindahkan fokus secara terprogram dalam arah relatif:
- Dapatkan instance
FocusManagermenggunakanLocalFocusManager.current. - Panggil
moveFocus()dengan nilaiFocusDirection(Next,Previous,Up,Down,Left,Right,Enter, atauExit).
val focusManager = LocalFocusManager.current Button( onClick = { focusManager.moveFocus(FocusDirection.Next) } ) { Text("Next Field") }
Fokus yang jelas
Untuk menghapus fokus dari elemen mana pun yang saat ini memegangnya
(misalnya, saat pengguna menekan tombol Esc),
panggil clearFocus():
val focusManager = LocalFocusManager.current Box( modifier = Modifier.onPreviewKeyEvent { keyEvent -> if (keyEvent.key == Key.Escape && keyEvent.type == KeyEventType.KeyUp) { focusManager.clearFocus() true } else { false } } )
Fungsi clearFocus() menerima parameter force: Boolean = false
opsional:
force = false(default): Mematuhi penguncian fokus dan tidak akan menghapus fokus jika komponen aktif telah mengambil fokus.force = true: Menghapus fokus tanpa syarat meskipun komponen telah mengambil fokus.
Direkomendasikan untuk Anda
- Catatan: teks link ditampilkan saat JavaScript nonaktif
- Target fokus
- Urutan traversal fokus
- Meminta fokus secara terprogram