Всем привет! а если у меня есть TopAppBar в котором

есть пункты меню по которым происходит нажатие то обработка нажатий а точней их логика где должна происходить?
ну типа вот есть
conButton(onClick = {/* Handle action icon click */ }) {

сюда добавлять еще viewModel?

15 ответов

32 просмотра

Ну типа ровно так же, как кнопке назад в АПП барe передается действие назад

Vadim-Morozov Автор вопроса
Koor Desart
Ну типа ровно так же, как кнопке назад в АПП барe ...

ну там я использую navController.popBackStack() а мне к примеру надо добавлять пост в избранное и это по хорошему какой то метод viewModel который содержит логику но viewModel на уровне навигации у меня же нет

Vadim Morozov
ну там я использую navController.popBackStack() а ...

Не совсем понял, что значит вм на уровне навигации

Vadim-Morozov Автор вопроса
Koor Desart
Не совсем понял, что значит вм на уровне навигации

https://gist.github.com/mnewlive/176600b31ea5e7d7e7ace2549005cf18 тут самая большая проблема где обрабатывать логику кликов на LeftAlignedTopAppBar

Vadim Morozov
https://gist.github.com/mnewlive/176600b31ea5e7d7e...

По моему стоит передавать просто композабл через actions подобно тому, как это делает гугл. И потом что-то вроде AppBar(... actions = { IconButton(onClick = { viewModel.someAction() }) {...}}). То есть в самом АПП баре ничего не обрабатывать из логики, а просто выделить место и обработать дизайн.

Vadim-Morozov Автор вопроса
Koor Desart
По моему стоит передавать просто композабл через a...

так откуда AppBar знает про viewModel? нету же референса

Vadim Morozov
так откуда AppBar знает про viewModel? нету же реф...

val viewModel: SomeViewModel = viewModel() Scaffold(topBar = { AppBar(/*тута вью модель юзаем*/) }) {...}

Koor Desart
val viewModel: SomeViewModel = viewModel() Scaffo...

Ну либо в качестве параметра передавать

Vadim-Morozov Автор вопроса
Koor Desart
val viewModel: SomeViewModel = viewModel() Scaffo...

ну так а на сколько ок вызывать AppBar в своем экране таким образом? каждый раз порисовывать ручками? ну то есть у меня в зависимости от topLevelNavigation прорисовывается тот или иной AppBar а сейчас получается что нужно его дополнительно добавлять в каждый экран как будто бы так себе

Vadim Morozov
ну так а на сколько ок вызывать AppBar в своем экр...

Можно сделать один комбинированный композабл, в котором АПП бары заменяются через when и его вызвать в скаффолде уже, передав нужные параметры

Добавить лямбду которая принимает id нажатого экшена, так апп бар будет реюзабельным

Vadim-Morozov Автор вопроса
Vadim Morozov
примера под боком нет? щас поищу тоже

TopAppBar( onItemSelected: (itemId: Int) -> Unit, ) { ... }

Vadim-Morozov Автор вопроса
Dzmitry
TopAppBar( onItemSelected: (itemId: Int) -> Uni...

ну так а метод в скрине как я могу реализовать если у меня аппбар не в скрине находится

Vadim Morozov
ну так а метод в скрине как я могу реализовать есл...

Ну так же как с onClick'ами, например прокидывать от родителя

Похожие вопросы

Обсуждают сегодня

Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
14
У меня задача: написать брокер сообщений. Очереди и потребители. Очереди поддерживают приоритеты. Очередь отдает сообщения, только обработчикам с соответствующими характеристи...
Aleksandr Filippov
2
Карта сайта