读书人

android2.2资源文件详解4-menu文件夹上

发布时间: 2012-09-25 09:55:59 作者: rapoo

android2.2资源文件详解4--menu文件夹下的菜单定义

四.menu下定义菜单

格式:<?xml version="1.0" encoding="utf-8"?>

属性:menu:根属性,包含item和group

? ? ? ?item:必须是menu或者group的子元素,可以包含menu(子菜单)

? ? ? ?group:必须是menu的子元素,包含item

属性详解:

menu:xmlns:android="http://schemas.android.com/apk/res/android"

item:

?

@Overridepublic boolean onContextItemSelected(MenuItem item) {    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();    switch (item.getItemId()) {        case R.id.delete_meeting:            postionOfMeetingToDelete = info.position;            showDialog(CONFIRM_DELETE_MEETING_DIALOG);            return true;        default:            return super.onContextItemSelected(item);    }}
?

?

注册菜单:registerForContextMenu和解除注册?unregisterForContextMenu

?

关闭时所回调的事件:onContextMenuClosed

?

注意:ContextMenu 与 OptionsMenu 的菜单资源XML文件格式完全相同,不能显示icon,但是ContextMenu可以具有自己的标题栏;

???通过setHeaderIcon、setHeaderTitle、setHeaderView、clearHeader方法控制标题栏的显示。

???ContextMenu 继承自 Menu ,标题栏相关的方式是扩展的方法。

多个 View 可以同时注册同一个 ContextMenu?

?

有些 View 会自带系统的 ContextMenu,比如 EditText 会自带“输入法”“复制”“粘贴”等菜单项,

再对这些 View 注册 ContextMenu 时,会将系统菜单项和自己注册的菜单项融合到一起

?

?

3.sub menu(子菜单):在定义选项菜单和上下文菜单时可以加入子菜单,当子菜单被选中时 仍然调用和父类菜单选中时一样的方法.

可以动态的通过addsubmenu和add方法添加子菜单和子菜单项

子菜单有相应的标题栏和相应的方法

?

其余的特性:

菜单组:可以通过menu.setGroupCheckable();

menu.setGroupEnabled();

menu.setGroupVisible()

进行同意设置

?

可以通过group的android:checkableBehavior属性设置组菜单项的选择模式

?

singleOnly one item from the group can be checked (radio buttons)allAll items can be checked (checkboxes)noneNo items are checkable

?

?

但是选择后我们要手动的改变状态,使用方法:setChecked()

?

?

?

?

?

?

读书人网 >Android

热点推荐