Экран имеет BasicTextField в центре и кнопку Продолжить, закрепленную внизу.
Когда я нажимаю на BasicTextField и открывается клавиатура, кнопка Продолжить перемещается вверх с помощью клавиатуры.
Однако я хочу другое поведение:
- Кнопка должна оставаться внизу макета
- Она может располагаться за клавиатурой
- Экран должен быть прокручиваемым, чтобы я мог прокручивать и отображать кнопку, когда необходимо
- Размер макета НЕ должен изменяться при открытии клавиатуры
Код: Выделить всё
Scaffold {
Surface(
modifier = Modifier
.fillMaxSize()
.background(Purple)
.padding(it)
.consumeWindowInsets(it)
.imePadding()
) {
ConstraintLayout(
modifier = Modifier
.fillMaxSize()
.background(Purple)
) {
val (phoneField, continueButton) = createRefs()
Box(
modifier = Modifier
.constrainAs(phoneField) {
linkTo(parent.top, parent.bottom)
linkTo(parent.start, parent.end)
width = Dimension.fillToConstraints
}
.padding(horizontal = 16.dp)
.height(100.dp)
) {
BasicTextField(
value = phoneNumber,
onValueChange = { newValue ->
if (newValue.all { it.isDigit() } && newValue.length
Подробнее здесь: [url]https://stackoverflow.com/questions/79882508/jetpack-compose-bottom-button-moves-up-with-keyboard-want-it-scrollable-instea[/url]
Мобильная версия