Я столкнулся с очень специфической проблемой с панелями инструментов.В настоящее время моя команда использует панель инструментов через класс-оболочку, назовем ее WrapToolbar
.
Так что WrapToolbar
внутренне настроит Toolbar
и предоставит некоторые общие Toolbar
функции.Доступны такие вещи, как setTitle
, getTitle
и т. Д.
Этот WrapToolbar
также устанавливает значок по умолчанию.Таким образом, во всех случаях использования WrapToolbar
этот значок будет доступен для экранов, которым он нужен.
Проблема этого подхода заключается в том, что для экранов, требующих дополнительных значков, необходимо добавить их через XML-меню ифункция onCreateOptionsMenu
.
Когда мы делаем это, настройка значков по умолчанию с помощью WrapToolbar
сдвигается влево, и новые значки из XML меню добавляются в конце.
Это работало хорошо для нас до недавнего времени, когда требования изменились, и теперь просят, чтобы иконка по умолчанию была в конце все время.
В настоящее время я борюсь с идеей создания пользовательской оболочки вокругПанель инструментов, которая предоставляет возможность добавлять значки, получать заголовок, устанавливать заголовок и т. Д. Таким образом, мы можем располагать значки в любом порядке и иметь максимальную гибкость в том, как выглядит наша панель инструментов.
Я смотрюдля некоторого руководства о том, на что это могло бы быть похоже.Я также хочу получить некоторую обратную связь о том, является ли моя первоначальная идея для решения этой проблемы ошибочной в некотором смысле, которую я не предвидел.