факту, именно размер? Если получать через WindowInsets.navigationBars.getBottom то при рекомпозии размер инсетов меняется. К примеру, если спрятать навигацию, то размер будет 0. Можно конечно через remember запомнить его, но может есть какие-нибудь другие варианты
Это всё связано с требованием, чтобы кнопки были зафиксированы вне зависимости от свободного пространства снизу? Довольно странное, если честно, с чем оно связано?
ну вот так, нужно чтобы интерфейс не смещался а был в фиксированном положении
При этом в приложении может исчезать системный нижний бар?
насколько я понял LocalConfiguration.current.screenHeightDp даёт размер не включая инсеты. Я его пихал как размер контейнера кнопок и прибавлял к нему размер боттом нава. Но теперь внизу есть полоса черная из суммы системных инсетов. Если задать их через WindowInset, то они будут рекомпозироваться и менять размер и интерфейс опять будет двигаться
да, при старте сессии скрываются системные бары и нав бар
Сомневаюсь, что размеры отсутствующих системных баров можно как-то получить Может хранить полученные значения где-то в локальном хранилище? Но звучит дико всё это
сейчас только есть идея собрать размер контейнера как: screenHeightDp - bottomNavBarHeight + systemInsets. Но здесь теперь systemInsets меняется в зависимости от своего состояния. Надо бы как-то узнать просто изначальный размер инсетов и использовать его
я тоже так подумал. когда начинаю всё это делать выглядит оно всё очень неприятно
Покажи, пожалуйста, как выглядит экран с этими кнопками?
Получается, весь этот контент никак не опирается на нижние бары вообще? Может быть тогда, если приложение изначально fullscreen, просто сделать Column с двумя элементами в центре, и сам Column сделать от верхнего края экрана до нижнего, плевав на инсеты и бар навигации?
а как его сделать до нижнего края, игнорируя боттом бар в активити?) если контент лежит внутри самой активити
Если у тебя нижний бар определён в Scaffold, то в лямбду передаются PaddingValues, которые в себя нижний бар включают. Если их к контенту не применить, то нижний бар учитываться не будет
о, вот похоже PaddingValues убрать - то что нужно. сейчас попробую, спасибо
спасибо. оставлю данное решение пока что
а, блин. тогда другие экраны тоже не будут уважать боттом бар
Можно запровайдить эти паддинги через CompositionLocal на те экраны, на которые нужно, но это всё ерунда какая-то
Судя по герриту компоуза, могу предположить что следующий релиз тебе сильно поможет в решении проблемы. Ибо туда прикрутили модификатор withConsumedWindowInsets() И добавили интерфейс MutableWindowInsets для изменения инсетов без рекомпозиции
интересно, спасибо. почитаю
Ты скафолд используешь для Боттомбара?
да, он в скаффолде
Откажись от него
Обсуждают сегодня