У меня есть простое представление PIN-кода с центральным представлением OTP и кнопкой внизу. Оба представления имеют imePadding, примененный к их родительским компонентам. Иногда после открытия представления кнопка скользит вертикально вместе с анимацией клавиатуры, но иногда клавиатура полностью открывается, а затем кнопка внезапно появляется поверх нее после полного завершения анимации. Кроме того, представление OTP не перемещается до тех пор, пока анимация не завершится, а затем фиксируется. Это очень странно, так как такое случается только иногда.
Мой вопрос: я делаю что-то не так, или это может быть проблема с устройством (сомневаюсь, так как могу воспроизвести это в симуляторе) )?
Если мое объяснение непонятно, могу предоставить видео
Row(
modifier = Modifier
.fillMaxSize()
.padding(16.dp)
.imePadding(),
horizontalArrangement = Arrangement.Center,
verticalAlignment = Alignment.CenterVertically
) {
OTPView(
modifier = Modifier.focusRequester(pinFocusRequester),
otpText = viewModel.pin.value,
onOtpTextChange = { code, _ ->
viewModel.pin.value = code
},
onDone = {
focusManager.clearFocus()
viewModel.onNext()
}
)
}
Column(
modifier = Modifier
.fillMaxSize()
.padding(start = 8.dp, end = 8.dp)
.imePadding(),
verticalArrangement = Arrangement.Bottom
) {
ETOrangeButton(
modifier = Modifier.fillMaxWidth(),
text = stringResource(id = R.string.next)
) {
viewModel.onNext()
}
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... e-keyboard
Неожиданное поведение imePadding, приводящее к его применению после анимации клавиатуры. ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение