Compose: Как иметь отступы ime и Scaffold с отступом от края до края, а windowSoftInputMode настроен на настройкуResizeAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Compose: Как иметь отступы ime и Scaffold с отступом от края до края, а windowSoftInputMode настроен на настройкуResize

Сообщение Anonymous »

Отступ androidx.compose.material3.Scaffold ошибочно добавляет отступы панели навигации, даже когда программная клавиатура открыта, добавляется отступ IME, в результате чего отступы панели навигации увеличиваются вдвое (см. снимок экрана ниже, разделитель должен касаться верхней части виртуальной клавиатуры).
Я пытаюсь заставить работать следующее:
  • Приложение безгранично
  • Код: Выделить всё

    windowSoftInputMode
    — это настройка AdjustResize
  • содержание моего контента внутри androidx.compose.material3.Scaffold
Это код MainActivity:

Код: Выделить всё

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="adjustResize" внутри AndroidManifest. для действия:
Изображение

Если я используйте Modifier.imePadding(), ситуация улучшается, но теперь у меня есть, помимо заполнения для IME, также внутреннее дополнение Scaffold, которое учитывает отступы для панели навигации, даже когда клавиатура открыто:
Изображение

Что такое правильный способ сохранить нижнее отступ Scaffold без добавления отступа панели навигации при добавлении отступа IME?
РЕДАКТИРОВАТЬ

Я подозреваю, что это ошибка Scaffold, поэтому я создал проблему на трекере: https://issuetracker.google.com/issues/249727298

Подробнее здесь: https://stackoverflow.com/questions/738 ... e-and-wind
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»