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

Android 控件 之 Menu 菜单

2016-08-06 10:14 302 查看
1.OptionsMenu (选项菜单)用法总结
 
使用方法:
方法一:添加菜单项:

onCreateOptionsMenu(Menu menu)中添加menu.

add(Menu.NONE,Menu.FIRST+1,5,"删除").

setIcon()------>添加选择菜单项事件:

在onOptionsItemSelected(MenuItem item)中 switch(item.getItemId()),

然后添加对应选择事件------>添加关闭菜单事件:onOptionsMenuClosed(Menu menu),

在其中添加代码即可-------->添加准备菜单(菜单显示之前的事件),在其中添加代码即可

方法二:

添加菜单的样式:在res中创建menu目录,

建立xml,<menu><item id&&icom.etc></item></menu>

-------> onCreateOptionsMenu(Menu menu)中 this.getMenuInflater().inflate(R.menu.options_menu,menu);

函数说明:
add()方法的四个参数,依次是:
1、组别,如果不分组的话就写Menu.NONE,
2、Id,这个很重要,Android根据这个Id来确定不同的菜单
3、顺序,那个菜单现在在前面由这个参数的大小决定,从1到6一次是同上往下,从左到右排。
4、文本,菜单的显示文本

setIcon(图片路径):为菜单设置图标
getMenuInflater().inflate(R.menu.options_menu,menu):
a.inflate的作用是将xml定义的而一个布局找出来,但仅仅是找出来。
b.第一个参数是布局,第二个参数是菜单。
 
2.ContextMenu上下文菜单
 
继承自Menu。与选项菜单不同的是:选项菜单服务于Activity,二上下文菜单式注册到某个View对象上的。而且使用上下文菜单需要注册,否则无法显示。最后上下文菜单无法添加图标和快捷键。
使用顺序: 添加菜单的样式:在res中创建menu目录,建立xml,<menu><item id&&icom.etc></item></menu>,每个上下文子菜单对应一个xml -------> 注册:onCreate()中使用registerForContextMenu(控件);--------->onCreateOptionsMenu(Menu menu)中创建一个MenuInflater,用if判断出传入的View是哪个控件中,在这触发控件所得到的菜单的样式:inflater.inflate(样式,menu);
 
3.子菜单 SubMenu
使用顺序:
1、 覆盖Activity的onCreateOptionsMenu()方法,调用Menu的addSubMenu()方法来添加子菜单
2、 调用SubMenu的add()方法,添加子菜单
3. 用SubMenu.setHeaderIcon(),和SubMenu.setHeadTitle()设置标题 和标题图片。
3、 覆盖onContextItemSelected()方法,响应子菜单的单击事件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: