目录
1. 上下文菜单
2. 选项菜单
3. 溢出菜单
4. 弹出菜单-PopupMenu
5. 自定义菜单(菜单项)
菜单资源文件通常放置在res\menu目录下,在创建项目时,默认不自动创建menu目录,所以需手动创建。
Android Resource Directory→ value menu
或在创建根元素为
标记的xml文件对自动气建眼
res→Android Resounce File →Resource type→menu
子元素为和
标记常用属性,描述:
android: checkableBehavior 用于定义菜单项的选中行为。值可为none(默认值,表示菜单项没有选中状态,无法选择),single(表示只能选择一个菜单项,选择一个菜单项会自动取消其他菜单项的选择状态),all(表示所有菜单项都可以选择,没有互斥的关系)。
标记常用属性,描述:
andraid: id 设置ID,也就是唯一标识。
android: title 设置标题。
android: alphabeticShortcut 指定字符快捷键。
android: numericShortcut 指定数字快捷键。
android: enabled 是否可用。
android: checkable 是否可选。
android: visible 是否可见。
android: checked 是否已选用。
android: icon 指定图标,需重写onMenuOpened方法并在其中调用设置显示图标才会在列表项中显示图标(重写方法)。
app: actionLayout 用于设置自定义的菜单项布局。在设置本属性时请不要设置title,可能会导致冲突,可用tools:ignore=”MenuTitle”替代title。
app: actionViewClass 用于指定操作按钮的视图类的 XML 属性。值可为”androidx.appcompat.widget.SearchView”(搜索框)等。
app: showAsAction 该属性用于溢出菜单,控制菜单项在导航栏上展示位置。值可为:
always 总是在导航栏上显示菜单图标。
ifRoom 如果导航栏右侧有空间,该项就直接显示在导航栏上,不再放入溢出菜单。
never 从不在导航栏上显示,一直放在溢出菜单列表中。
withText 如果能在导航栏上显示,除了显示图标还要显示该项的文字说明。
collapseActionView 操作视图要折叠为一个按钮,点击该按钮再展示操作视图主要用于Searchview。
标记常用属性,描述:
android: id 为菜单组设置ID。
android: checkableBehavior 指定菜单组选择行为,值可为none(不可选)、all(多选)、single(单选)。
android: menuCategory 对某单组进行分类,指定优先级,值可为container、system、secondary和alternative
android: enable 指定该菜单组中全部 单项是否可用
android: visible 指定该菜单组中全部某单项是否可见
标记中还可包含