Когда Compose ModalBottomSheet закрывается, он анимируется над навигационной панелью или, скорее, «сквозь» ее, кнопки навигации остаются видимыми над листом, но навигационная панель фон закрыт листом, пока он закрывается (я тестирую с помощью трехкнопочной навигации) [см. изображение справа]. Сначала я думал, что это поведение по умолчанию, которое нельзя изменить, но потом я увидел, что в Instagram, Uber и Discord есть листы, которые при закрытии перемещаются за фон панели навигации. Как мне сделать так, чтобы фон навигационной панели оставался на переднем плане?
РЕДАКТИРОВАТЬ: я обнаружил такое же поведение во всех тестовых приложениях Compose с EnableEdgeToEdge() (параметры по умолчанию), поэтому смешанные материалы приложения фон ниже, вероятно, не имеет значения.
Справочная информация:
У нас есть приложение для смешанных фрагментов/создания одного действия, использующее Compose ModalBottomSheets. Вчера я узнал, как предотвратить перекрытие листов с системными полосами при расширении, установив WindowCompat.setDecorFitsSystemWindows(window, false) для действия, и, поскольку это смешанное приложение, я установил границу действия. root, чтобы использовать windowInsets, но не использовать их, чтобы лист также учитывал windowInsets. И все это работает, за исключением анимации.
Цвет панели навигации в теме приложения XML установлен на сплошной цвет и не является прозрачным:
Код: Выделить всё
@color/status_bar_color
Справа: Перетаскивание в середине: лист располагается над фоном панели навигации


Подробнее здесь: https://stackoverflow.com/questions/786 ... igationbar
Мобильная версия