Codename One - Right SideMenu + Left SideMenu в той же форме - PullRequest
0 голосов
/ 02 июня 2018

В настоящее время Codename One Toolbar не предоставляет API для реализации правого бокового меню .

Я открыл RFE: SideMenu насправа от панели инструментов некоторое время назад, и я также вижу несколько старых дискуссий по этому поводу.Мне нужно реализовать это (это требование) , поэтому я попытался найти способ обойти отсутствие этой функции.Точнее, Мне нужно реализовать как левое меню (без значка меню гамбургера) , так и меню справа (с меню гамбургера)icon) в той же форме.

Я нашел (сложное) решение в старом посте " Сбоку, вверху сверху ", основанона (не рекомендуется) SideMenuBar.Я протестировал (только в симуляторе) код , о котором сообщалось в этом посте , и получил два боковых меню (левое без значка и правое со значком гамбургера)) .

Тем не менее, я полагаю, что не стоит доверять устаревшему API для создания нового приложения.Более того, я привык работать с Toolbar, мне не комфортно с SideMenuBar (это кажется сложным, и я никогда раньше не использовал).

Мой вопрос заключается в том, как реализоватьэтот вариант использования с кодом, которому я могу доверять.Или SideMenuBar является единственным решением?

(Побочный запрос подразумевает, что кто-то из команды Codename One может реализовать этот RFE, который, вероятно, может быть интересен для других разработчиков, как показанодругие подобные вопросы (например: [1] , [2] , [3] , [4] , [5] , [6] , [7] ): на данный момент я не могу сделать это самостоятельно. Спасибо).

1 Ответ

0 голосов
/ 02 июня 2018

Я бы не стал использовать SideMenuBar, есть причина, по которой мы устарели, и поддержка с правой стороны была особенно ненадежной.

Я бы пошел с запросом на удаление, изменив код в Toolbar, чтобы добавитьподдержка API, который добавит к правой боковой панели.По сути, это означало бы использование логики, используемой в левой панели меню, для создания аналогичной правой панели меню.Некоторые поля будут нуждаться в дублировании (например, InteractionDialog), но большая часть кода может оставаться общей.

В качестве альтернативы, если вам не нужна поддержка смахивания, вы можете просто добавить команду в правую строку меню и просто показать InteractionDialog или даже Dialog с боковым переходом.

...