Код: Выделить всё
val imeBottomDp = with(density) { WindowInsets.ime.getBottom(this).toDp() }
val extraGap = if (imeBottomDp > 0.dp) 32.dp else 0.dp
Surface(
modifier = Modifier
.padding(bottom = extraGap),
tonalElevation = 2.dp,
shadowElevation = 1.dp,
color = MaterialTheme.colorScheme.surface
) {
BasicTextField(
value = textState,
onValueChange = { textState = it },
enabled = enabled,
modifier = Modifier
.background(Color.Green)
.padding(vertical = 52.dp, horizontal = 8.dp),
keyboardOptions = KeyboardOptions(
keyboardType = KeyboardType.Text,
imeAction = ImeAction.Send,
),
...
< /code>
Есть идеи? Это должно быть возможно без этих обходных путей? Кажется довольно распространенным, если не ожидалось, оставлять некоторое пространство между базовой линией и верхней частью клавиатуры?Surface(
modifier = Modifier
.imePadding()
.padding(bottom = 0.dp),
tonalElevation = 2.dp,
shadowElevation = 1.dp,
color = MaterialTheme.colorScheme.surface
)
Подробнее здесь: https://stackoverflow.com/questions/797 ... f-keyboard