您的位置:首页 > 移动开发 > Android开发

Android-menu

2015-06-17 20:32 323 查看
Android-menu
一 创建menu

1 xml方式

定义一个菜单,需要在你项目的res/menu/目录下创建一个XML文件以及使用下面这些元件创建菜单:

<menu>

定义一个菜单作为菜单项的容器。<menu>必须作为文件的根结点,这样才能容纳一个或多个<item>和<group>件。

menu不是视图,是一个接口

<item>

创建一个在菜单中表示一个单独的选项的菜单项。这个元件可能需要包含<menu>网来创建一个子菜单。

<group>

<item>元件中可选且不可见的容器。它允许你去把菜单项归类,所以它们可以分享特性例如激活状态和可视状态

压力泵inflater用于将xml中定义的类实例化为菜单对象:

使用的方法:onCreateOptionsMenu(Menu menu)

获取压力泵:MenuInflater _menuInflater = getMenuInflater();

设置压力泵:_menuInflater.inflate(R.menu.optionmenu, menu);

2 动态代码编写

menu.add(1, 2, 2, "hello world");方法,比较简单

 二 xml常用属性

1 android:checkable="true"是否可以选中

2 <group android:checkableBehavior="single">组里面设置单行显示

3 <item><menu></menu></item> 子menu要嵌套在item项目中

4  android:id:

菜单项唯一的的ID资源,当用户选中这个选项时允许应用通过这个ID来识别这个菜单项。

5 android:icon:

索引一个图片资源作为该项的图标。

6 android:title:

索引一个字符串作为该项的标题

7 android:showAsAction:

载明该项作为一个行为项什么时候和怎样显示在动作条中。

三 menu类别

1 OptionMenu选项菜单

Submenu

操作的menu,

按下才创建



事件机制:

onMenuItemSelected

2 ContentMenu上下文菜单





类似于鼠标右键的menu,长按可以触发,通常建立在ListView或者GridView上

需要注册,不然长按一下,全部都弹出来

通过调用resisterForContextMenu()来注册上下文菜单相关的视图,并在视图中通过它。

如果你的活动使用了ListView或者GridView且你想要每个选项都提供一个相同的上下文菜单,

那么需要通过调用ListView或者GridView中的registerForContextMenu()为一个上下文菜单注册所有的选项。

事件机制:

onContextItemSelected
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: