Android系统里面有3种类型的菜单:options menu,context

menu,sub menu。

一、options

menu

按Menu键就会显示,用于当前的Activity。

它包括两种菜单项:

因为options menu在屏幕底部最多只能显示6个菜单项,这些菜单项称为icon menu ,icon

menu只支持文字(title)

以及icon,可以设置快捷键,不支持checkbox以及radio控件,所以不能设置checkable选项。

而多于6的菜单项会以“more” icon menu来调出,称为expanded menu 。它不支持icon,其他的特性都和icon

menu一样。

在Activity里面,一般通过以下函数来使用options

menu:

Activity::onCreateOptionsMenu (Menu

menu)   创建options

menu,这个函数只会在menu第一次显示时调用。

Activity::onPrepareOptionsMenu (Menu

menu)  更新改变options

menu的内容,这个函数会在menu每次显示时调用。

Activity::onOptionsItemSelected (MenuItem

item) 处理选中的菜单项。

二、context

menu

要在相应的view上按几秒后才显示的,用于view,跟某个具体的view绑定在一起。

这类型的菜单不支持icon和快捷键。

在Activity里面,一般通过以下函数来使用context

menu:

Activity::registerForContextMenu(View view)

为某个view注册context menu,一般在Activity::onCreate里面调用。

Activity::onCreateContextMenu(ContextMenu

menu, View v, ContextMenu.ContextMenuInfo menuInfo) 创建context

menu,和options menu不同,context meun每次显示时都会调用这个函数。

Activity::onContextItemSelected(MenuItem item)

处理选中的菜单项。

三、sub menu

以上两种menu都可以加入子菜单,但子菜单不能嵌套子菜单,这意味着在Android系统,菜单只有两层,设计时需要注意的。同时子菜单不支持icon。

四、group和item常见属性的说明

1、

表示在它里面的在同一group。相关属性包括:

id :group id

menuCategory :对应 常量Menu

CATEGORY_*  —

定义了一组的优先权,有效值:container,system,secondary,和alternative

orderInCategory

:定义这组菜单在菜单中的默认次序,int值

checkableBehavior

:这组菜单项是否checkable。有效值:none,all(单选/单选按钮radio

button),single(非单选/复选类型checkboxes)

visible :这组菜单是否可见 true or

false

enabled :这组菜单是否可用,true or

false

2、

菜单项,可以嵌入

id :  item

id

menuCategory :

用来定义menu类别

orderInCategory :

用来定义次序,与一个组在一起(Used to define the order of the item, within a

group)

title : 标题

titleCondensed :标题摘要,

当原标题太长的时候,需要用简短的字符串来代替title

icon : icon 图标

alphabeticShortcut :

字母快捷键

numericShortcut

:数学快捷键

checkable :是否为checkbox, true

or false

checked :是否设置为checked状态,true

or false

visible : 是否可见, true or

false

enabled :是否可用,true or

false

android menu xml 属性,Android中Menu类型及常见属性说明相关推荐

  1. html里的input属性,HTML中强大的input标签属性

    用了许久的html,这个标签是最常用的标签之一. 标签中type属性是必不可少的,以往我最常用的有 type="text"(单行文本输入) 类型. type="butto ...

  2. android 表格xml,【Android】利用表格布局,Android中xml文件与java的交互制作登录界面...

    登录界面是图形编程.网页编程的一个经典而又基础的程序. 在安卓中,如图所示一个基本登录界面: 点击取消按钮就关闭这个程序,点击登录按钮则显示用户输入的用户名与密码. 一.基本布局 这个程序利用到安卓中 ...

  3. android编程xml动画,Android中xml设置Animation动画效果详解

    在Android中,Animation动画效果的实现可以通过两种方式进行实现,一种是tweened animation渐变动画,另一种是frame by frame animation画面转换动画. ...

  4. Android 总结:Manifest文件中,application和activity标签属性详解

    android:hasCode = ["true" | "false"] android:icon = "drawable resource" ...

  5. android 主题xml,自定义Android主题风格theme.xml方法 Android开发技术

    自定义Android主题风格theme.xml方法 Android开发技术 2013 年 5 月 23 日 在Android中可以通过自定义主题风格方式来实现个性化以及复用,首先我们创建theme.x ...

  6. android自定义xml弹窗,Android自定义弹窗提醒控件使用详解

    Android中原生的Dialog弹窗提醒控件样式单一,有时候并不能满足我们的项目需求,而且一个工程里面有时候会在多处都用到弹窗提醒的功能,代码会出现大量的冗余,工作之余,就自己实现了这么一个弹窗提醒 ...

  7. android apk xml文件,Android 反编译Apk提取XML文件

    Apktool 下载地址:Apktool 打开cmd终端:java -jar apktool_2.3.3.jar  d xxx.apk 示例: D:\TOOL\Android反编译工具[全]\2018 ...

  8. html中图像标记的属性,HTML中的图象标签属性

    HTML中的图象标签属性 更新时间:2006年08月28日 00:00:00   作者: HTML中的图象标签属性 图象可以使网页更加生动美观.浏览器可以显示JPEG和GIF图象,其中GIF图象最多只 ...

  9. android读取xml 字符串,Android 读取本地Xml文件,并转换成String

    问题 不是解析本地 xml 文件, 而是要将 xml 文件中的所有内容(包含格式,标签等),直接转换成 String. 与前端H5页面交互时, iOS 在请求远程 xml 文件耗时太长(有时需要4~5 ...

最新文章

  1. 【深度学习】(3) 全连接层、激活函数
  2. 华为高密UA5000升级
  3. pymysql安装_openstack stein安装placement
  4. jQuery下table操作示例(附案例源码)
  5. 【渝粤教育】 国家开放大学2020年春季 1050金融理论前沿课题 参考试题
  6. IDEA之Initialization failed for ‘http://start.spring.io‘ Please check URL, network and proxy settings
  7. WebService 之 WSDL详解
  8. 菜鸟教程python100例-菜鸟教程python
  9. Python爬虫个人记录(二) 获取fishc 课件下载链接
  10. word在html中预览,在网页中预览word和excel
  11. protel dxp2004第三讲之仿真设计
  12. 数据挖掘:数据清洗——缺失值处理
  13. 清北学堂2018noip集训D1
  14. QNAP文件系统不干净,qFinder搜索不到nas,可以ping通
  15. 家用无线路由器设置技巧
  16. 量化股票查询代码是什么?
  17. 用网线给服务器装系统,只用网线从零开始安装系统
  18. 搜狗输入法自定义短语设置
  19. 帮我们找房租房买房的代理模式
  20. android studio 如何上传文件到模拟器的根目录

热门文章

  1. Ubuntu 14.04 为root帐号开启SSH登录
  2. 实验二《Java面向对象程序设计》实验报告
  3. 【计算机视觉】论文笔记:Ten years of pedestrian detection, what have we learned?
  4. expected function body after function declarator
  5. Linux CentOS7/RHEL7关闭ctrl+alt+delete功能键
  6. 羽毛球 机器人 Robocon 2015 泰国预选赛(全国大学生机器人竞赛)
  7. 从一个视图控制器切换到另一个视图控制器的几种方式
  8. PostgreSQL参数学习:vacuum_defer_clean_age
  9. WCF分布式开发步步为赢系列
  10. 被裁之后才明白:有一种抗风险能力,叫做会讲故事