она не справилась
Ерунда🙂, следующий
Не согласен, следующий)
То что выше в комбинации со сложными маршрутами к диплинке
Уже интересно, а поподробней?
Слева будет RouteFragmentDirections.actionRouteFragment1ToRouteFragment2(arg)
С навигацией как в инсте или как в Ютубе. Точнее благодаря идеи @greenucom получилось, но пришлось покостылить. И я вот до сих пор не уверен стоило оно того или нет :)
Я такую дичь даже за деньги делать не буду)
Уже вижу это экзит интервью: -- Было очень приятно с тобой сотрудничать! Ты сделал большой вклад в развитие продукта и компании, [бла-бла-бла]. -- Да, мне тоже было здорово с вами работать! -- Так а почему всё-таки уходишь? -- Да понимаешь... Задача зашла, где надо сделать табки со сквозной навигацией назад. А я зарёкся такое делать, даже за деньги. Вот, ухожу в другую компанию, пришлось даже немного потесниться по зарплате...
я хоть и не хейтер и сам ее использую, но, пожалуй, тоже накину. С адекватным открытием фулл скрин экранов там где нужно и экранов с боттомбаром) без знаменитых «скрывайте бар там где он не нужен» )))
Вообще Боттом бар должен показываться по стейту shouldShowBottomBar , я считаю это правильно. Но гугловская навигация меня бесит с нулловым роутом. Даже если ты с экрана А навигируешься на экран Б, на долю секунды она становится нуллом. Я даже не знаю как они это оправдывают
я у себя сделал два навхоста, один глобальный в котором лежат фулл скрин экраны, а второй с нижней навигацией. второй вложен в первый. Как то так.
имеешь ввиду скрывать его в animated visibility по стейту? мне кажется будет убого смотреться
Кажется слишком замудрено. Я сделал так: AnimatedVisibility (visible = appState.shouldShowBottomBar){BottomBar()} А внутри appState: val shouldShowBottomBar get () = currentDestination == topLevelDestination
Если подобрать нужную анимацию красиво смотрится. Только сначала был глитч + NPE из-за нуллового роута, но я решил это мелким костылем.
Я не скрываю боттомбар, это даже звучит стрёмно. А за фуллскрин спасибо, посмотрю
На самом деле только кажется, не нужно никак ручками связывать навконтроллеры и навхосты, оно из коробки понимает, что при навигации назад нужно вначале вложенный навхост опустошить, а потом перейти к родительскому. Ну и два навконтроллера придется передавать скринам, которые внутри боттомнавигации.
Довольно интересный подход. Не встречал, но надо будет попробовать
А как у вас построена навигация с bottom bar? Вы не двигаетесь по табам ? Я просто в основном наблюдаю именно движение по табам в приложениях сейчас.
ну в каждом табе свой стек, жмакая назад я опустошаю стек, когда он пуст я перехожу к родительскому стеку и так далее. никаких прыжков между паралельными стеками, это ересь пришла из вэба и должна туда вернуться)
Хз мне наоборот не удобно если мое приложение на рутовому экрану сворачивается. Мне удобней жестом назад вернутся на тот таб с которого я ушел. Но это скорее вкусовщина. Вот например у меня один из табов это поиск по торрентам и еще один таб настройки. Ищу я торрент и тут у меня недоступен сейчас агрегатор или выдает не то что я хочу и я нажимаю таб настройки и там меняю агрегатор на другой. И мне удобней махнуть жест Back чтобы вернутся к торрентам чем нажимать на таб в низу. А если бы у меня с настроек я свернул приложение меня бы это бесило 😉
то есть у тебя фильтры в одном табе, а результаты в другом?
Нет фильтр на экране конечно с поиском. Настройки акрегатора в настройках
Где скачать приложение?🌚
Нигде 😉 это пет проект для экспериментов личных 😉 надо же на чем-то компоуз изучать
в моем мире это всё достойно только одного таба)
Просто в Табе настроек много всего предполагается включая синхронизацию
А как это делается? Я потыкал ютуб(инсту презираю из принципа🙂), выглядит так будто backpressed переопределен в рутовых экранах и где-то хранится стек перехода по вкладкам без повторений. Если так, то ваще не сложно, особенно с компоузовским BackHandle. Так уж и быть, за бабки можно🙂
Ну собственно так и есть. https://t.me/android_declarative/49917 Но вот я пока не справился с вопросом как сделать чтобы таб можно было с аргументами открыть в таком случае (пока выкинул эту задачу).
Обсуждают сегодня