Я пытаюсь, чтобы следующая вещь работала вместе: < /p>
- Приложение имеет преимущество в краю < /li>
Adxustresize
Код: Выделить всё
windowSoftInputMode
- Налив мой контент в Androidx.compose.material3.scaffold
Код: Выделить всё
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
WindowCompat.setDecorFitsSystemWindows(window, false)
setContent {
MyComposeApplicationTheme {
Scaffold(
topBar = {
TopAppBar(
title = { Text(text = stringResource(id = R.string.app_name)) }
)
},
) { scaffoldPadding ->
Box(
modifier = Modifier
.fillMaxSize()
.padding(scaffoldPadding),
contentAlignment = Alignment.BottomCenter
) {
OutlinedTextField(
value = "",
onValueChange = {},
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 16.dp)
)
Divider()
}
}
}
}
}
}
Но, если я открываю клавиатуру, экран не изменяется правильно, несмотря на то, что Android: windowsoftinputmode = "addrustresize" атрибут внутри AndroidManifest set Для деятельности:
Если я Используйте модификатор.imepadding () , ситуация улучшается, но теперь у меня есть, помимо прокладки для IME, а также внутренней прокладки каркаса, которая учитывает заполнение для навигационной панели, даже когда клавиатура открыт:
Что такое Правильный способ сохранить нижнюю накладку каркаса, не добавляя навигационную панель, когда добавляется прокладка IME? Скаффолд Итак, я создал проблему на трекере: https://issuetracker.google.com/issues/249727298
Подробнее здесь: https://stackoverflow.com/questions/738 ... e-and-wind