¿Cómo mover el foco del botón Redactar a Redactar TextField de texto usando la tecla de flecha?
Cuando moví el foco del botón Redactar a Redactar TextField de texto usando la tecla de flecha ( KeyEvent.KEYCODE_DPAD_UP ),
el foco se mueve dos veces por esa pulsación de tecla. (cuando uso la tecla de avance de página)
Espero que el foco se mueva una vez para presionar esa tecla.
Consulte la animación GIF para obtener más información.
¿Hay alguna manera de arreglar esto?
(Utilizo las teclas arriba y abajo para moverme entre TextFields usando el método moveFocus de focusManager en onKeyEvent )
@Composable fun Screen() { Column( modifier = Modifier.fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally ) { val focusManager = LocalFocusManager.current FocusMoveTextField(focusManager) FocusMoveTextField(focusManager) FocusMoveTextField(focusManager) OutlinedButton( onClick = {} ) { Text("Button") } } } @Composable private fun FocusMoveTextField( focusManager: FocusManager ) { OutlinedTextField( modifier = Modifier .fillMaxWidth() .onKeyEvent { keyEvent -> when (keyEvent.nativeKeyEvent.keyCode) { KEYCODE_DPAD_DOWN -> { focusManager.moveFocus(FocusDirection.Down) true } KEYCODE_DPAD_UP -> { focusManager.moveFocus(FocusDirection.Up) true } else -> { false } } }, value = "", onValueChange = {}, keyboardOptions = KeyboardOptions( keyboardType = KeyboardType.Number, imeAction = ImeAction.Done ) ) }