重拾Android之菜单事件

Android系统支持三种菜单
1、选项菜单 Options Menu
2、子菜单 SubMeu
3、快捷菜单 ContextMenu


Options Menu:打开方式菜单键


分类:
图标菜单:同时显示文字和图标的菜单最多支持6个子项,不支持单选框和复选框。
扩展菜单:是在图标菜单子项多与6个时才出现。通过点击菜单最后的子项more才能打开,扩展菜单是垂直的列表型菜单不支持显示图标,支持单选框和复选框。


选项菜单的使用
重载Activity的onCreateOptionsMenu()函数,才能在Android应用程序中使用选项菜单。初次使用选项菜单时会调用onCreateOptionsMenu()函数,用来初始化菜单子项的内容。
 
设置菜单子项的ID,和组ID
菜单子项显示的文字和图片等



menu.setShortcut("","")第一个参数是为数字键盘设定的快捷键。第二个参数是为全键盘设定的快捷键且不区分字母大小写。


重载onPrepareOptionsMenu()函数,能够动态的添加,删除菜单子项,或修改菜单标题,图标和可见性等内容与onCreateOptionsMenu()返回值意义相同。


选项菜单的处理事件
onOptionsItemSelected()的返回值表示是否对菜单的选择事件进行处理。
MenuItem.getItemId()函数可以获取到被选菜单子项的ID.


子菜单是能够显示更加详细信息的菜单子项
菜单子项使用了浮动窗体的显示形式,能够更好适应小屏幕的显示方式。


Android系统的子菜单使用非常灵活,可以在选项菜单或快捷菜单中子菜单,有利于将相同或相似的菜单子项组织在一起,便于显示和分类。


子菜单支持嵌套


子菜单的添加是使用addSubMenu()函数实现




快捷菜单同样采用了动窗体的显示方式,与子菜单实现方式相同,但两种菜单的启动方式却截然不同


启动方式:快捷菜单类似于普通桌面的程序中的右键菜单,当用户点击界面元素超过2秒后,将启动注册到该界面元素的快捷菜单。


使用方法:与使用选项菜单的方法十分类似,需呀重载onCreateContextMenu()函数和onCreateItemSeleted()函数


onCreateContextMenu()主要用于添加快捷菜单所显示的标题、图标、菜单子项等内容。



选项菜单中onCreateOptionsMenu()函数仅在选项菜单第一次启动时被调用一次,快捷菜单onCreateContextMenu()函数每次的启动的时候都会被调用一次。



可以在快捷菜单中添加子项和子菜单。


快捷菜单选择事件的处理需要重载onCreateContextSelected()函数,该函数在用户选择快捷菜单中菜单子项后被调用,与onOptionsItemSelected()函数的方法基本相同。


Android系统中菜单不仅能够在代码中定义,而且可以向界面布局一样在xml中定义。
使用XML定义界面菜单,将代码与设计分类,有助于简化代码的复杂程度。并且更有利于界面的可视化。




在XML文件中定义菜单后,在onCreateContextMenu()函数中调用getMenuInflate.inflate()将XML资源文件传递给菜单对象。


getMenuInflate为当前Activity返回MenuInflate.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。