Всплывающее окно Jetpack Compose с focusable = true разбивает иммерсивный полноэкранный режим и отображает панель навигаAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Всплывающее окно Jetpack Compose с focusable = true разбивает иммерсивный полноэкранный режим и отображает панель навига

Сообщение Anonymous »

❗ Проблема
Когда я показываю Всплывающее окно создания сообщения, я должен установить:
properties = PopupProperties(focusable = true)

потому что:
  • Мне нужно, чтобы всплывающее окно было модальным
  • Касания за пределами всплывающего окна не должны передаваться игроку
  • Дочерние составные элементы должны потреблять свои собственные события
Но как только focusable = true включен, панель навигации становится видимой, и иммерсивный полноэкранный режим теряется.
Я также пробовал:
  • Удаление ignoreFromSystemGesture
  • Добавление пользовательского pointerInput для блокировки сенсорного ввода
  • Снова скрыть панели внутри всплывающего окна вручную с помощью WindowInsetsController
Что бы я ни пытался, открытие всплывающего окна с фокусом всегда вызывает появление панели навигации.
Popup(
alignment = Alignment.Center,
properties = PopupProperties(
focusable = true, // MUST be true to block outside touches
excludeFromSystemGesture = true // does not help
),
onDismissRequest = onDismiss
) {
PopupContent()
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... n-and-show
Ответить

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

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

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

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

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