我遇到了Toolbars的一个非常奇怪的问题。我的团队目前使用工具栏的方式是通过包装类,我们称之为WrapToolbar
。
所以WrapToolbar
将在内部设置Toolbar
,并暴露一些常见的Toolbar
函数。像setTitle
,getTitle
等的东西是可用的。
这个WrapToolbar
还设置了一个默认图标。这样,WrapToolbar
的所有用法都会将此图标用于需要它的屏幕。
这种方法的问题在于,对于需要额外图标的屏幕,必须通过Menu XML和onCreateOptionsMenu
函数添加它们。
当我们这样做时,WrapToolbar
的默认图标设置被推到左边,菜单XML中的新图标被添加到最后。
直到最近需求发生变化时,这对我们来说还算不错,现在要求默认图标始终在最后。
我目前正在努力围绕工具栏做一个自定义包装的想法,它暴露了添加图标,获取标题,设置标题等的能力。这样我们就可以按任意顺序放置图标,并且具有最大的灵活性。我们的工具栏看起来。
我正在寻找一些可能看起来像什么的指导。我还希望得到一些反馈,我最初想要解决的问题是否存在某种我无法预见的缺陷。
菜单有一个基于android:menuCategory
attribute的内置排序 - 您可以使用android:menuCategory="secondary"
将菜单项(如默认图标)推到列表的末尾 - 所有没有menuCategory
的MenuItem将出现在它的左侧。