Я пытаюсь создать полностью настраиваемое TextField в Android с помощью Jetpack Compose
с аппаратной клавиатурой все в порядке, но программная клавиатура не открывается
вот как я начинаю:
(с простого кода)
@Composable
fun MyCustomTextField() {
var text by remember { mutableStateOf("") }
val focusRequester = remember { FocusRequester() }
val keyboardController = LocalSoftwareKeyboardController.current
var hasFocus by remember { mutableStateOf(false) }
Box(
modifier = Modifier
.focusRequester(focusRequester)
.onFocusChanged { hasFocus = it.hasFocus }
.focusable()
.focusTarget()
.clickable {
// Request focus and show keyboard when clicked
if (!hasFocus) {
focusRequester.requestFocus()
} else {
keyboardController?.show()
}
}
.onKeyEvent {
if (it.type == KeyEventType.KeyDown) {
if (it.nativeKeyEvent.keyCode == KeyEvent.KEYCODE_DEL) {
if (text.isNotEmpty()) {
text = text.substring(0, text.length - 1)
}
} else {
text += it.nativeKeyEvent.unicodeChar
.toChar()
.toString()
}
}
false
}
)
{
Text("text:" + text)
}
// Request focus when the composable enters the composition
LaunchedEffect(hasFocus) {
focusRequester.requestFocus()
keyboardController?.show()
}
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... t-keyboard
Мягкая клавиатура Android для создания сообщений ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Мягкая клавиатура открывает и закрывает прослушиватель в действии в Android
Anonymous » » в форуме Android - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Мягкая клавиатура открывает и закрывает прослушиватель в действии в Android
Anonymous » » в форуме Android - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Мягкая клавиатура iOS увеличивает фиксированный DIV вместо динамической регулировки высоты
Anonymous » » в форуме IOS - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-