Bazı kullanıcı işlemleri akışlarında uygulamanızın odağı belirli bir bileşene açıkça taşıması gerekir. Örneğin, kullanıcı bir "Ara" düğmesini tıkladığında odağı otomatik olarak arama giriş alanına yerleştirmek isteyebilirsiniz.
FocusRequester'ı kullanma
Odağı açıkça istemek için:
- Bir
FocusRequesterörneği oluşturun ve bunu hatırlayın:val focusRequester = remember { FocusRequester() }. focusRequesterdeğiştiricisini kullanarakFocusRequesteröğesini hedef composable'a ekleyin.requestFocus()işlevini bir etkinlik geri çağırma işlevi (ör.onClick) veya eş yordam kapsamı içinde çağırın.
val focusRequester = remember { FocusRequester() } var text by remember { mutableStateOf("") } TextField( value = text, onValueChange = { text = it }, modifier = Modifier.focusRequester(focusRequester) )
val focusRequester = remember { FocusRequester() } var text by remember { mutableStateOf("") } TextField( value = text, onValueChange = { text = it }, modifier = Modifier.focusRequester(focusRequester) ) Button(onClick = { focusRequester.requestFocus() }) { Text("Request focus on TextField") }
İlk ekran odağını ayarlama
Bir ekran ilk kez göründüğünde ilk odağı belirli bir bileşene yerleştirmek için LaunchedEffect(Unit) içinde requestFocus() öğesini tetikleyin:
LaunchedEffect(Unit) {
focusRequester.requestFocus()
}
Kapsayıcılar arasında gezinirken veya başka bir ekrandan dönerken
odağı otomatik olarak son odaklanan alt öğeye döndürmek için
üst kapsayıcılara focusRestorer() ekleyebilirsiniz.
Daha fazla bilgi için Odağı geri yükleme kılavuzuna bakın.
Sizin için önerilenler
- Not: JavaScript devre dışı bırakıldığında bağlantı metni gösterilir.
- Odak hedefleri
- Grup odak hedefleri
- Odağı geri yükleme
- Odağı taşıma ve temizleme