rob42
07/31/2024, 4:33 PMmovableContentOf()
and keyboard events?
When I move a "movable content" composable, keyboard events via onPreviewKeyEvent
are no longer received, even though the composable remains focused.rob42
07/31/2024, 4:35 PM@Composable
private fun TestCase() {
val movableContent = remember { movableContentOf { MyContent() } }
var sentinel by remember { mutableStateOf(false) }
LaunchedEffect(Unit) {
delay(5000)
sentinel = true
}
if (!sentinel) {
Box(Modifier.background(Color.Green)) { movableContent() }
} else {
Box(Modifier.background(Color.Red)) { movableContent() }
}
}
@Composable
private fun MyContent() {
val focusRequester = remember { FocusRequester() }
val interactionSource = remember { MutableInteractionSource() }
val isFocused by interactionSource.collectIsFocusedAsState()
LaunchedEffect(Unit) {
focusRequester.requestFocus()
}
Box(Modifier
.focusRequester(focusRequester)
.focusable(true, interactionSource)
.onPreviewKeyEvent {
println("[${Instant.now()}] got key event: ${it.key}")
false
}
) {
BasicText("Focused? $isFocused")
}
}
Louis Pullen-Freilich [G]
07/31/2024, 4:36 PMrob42
07/31/2024, 4:39 PMrob42
07/31/2024, 4:40 PMLouis Pullen-Freilich [G]
07/31/2024, 4:46 PMrob42
07/31/2024, 4:52 PM