参考:http://www.cnblogs.com/salam/archive/2011/04/04/2005329.html博主,并进行补充。

关于OptionsMenu的例子,博主“永恒的记忆”的文章http://www.cnblogs.com/salam/archive/2011/04/04/2005329.html已经讲的非常清楚并且举了非常好的例子,这里只是补充一下关于上下文菜单(ContextMenu)和子菜单(SubMenu)。

一、上下文菜单(ContextMenu)

关于ContextMenu的详细介绍请参考:http://developer.android.com/reference/android/view/ContextMenu.html。在这里主要强调API当中这一点:


To show a context menu on long click, most clients will want to callregisterForContextMenu(View)and overrideonCreateContextMenu(ContextMenu, View, ContextMenu.ContextMenuInfo).


就是说为了显示一个在长按View时显示ContextMenu,多数客户端都会调用registerForContextMenu(View)并且复写onCreateContextMenu(ContextMenu, View, ContextMenu.ContextMenuInfo)方法。在此处registerForContextMenu(View)方法写在onCreate当中。


在实际开发当中用于长按触发ContextMenu的方法还有设置View的setOnCreateContextMenuListener监听事件。


1、上下文菜单相关的事件说明

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) ;但长按View,要显示上下文菜单时调用产生上下文菜单。

public boolean onContextItemSelected(MenuItem item);选中菜单项后发生的动作。

public void onContextMenuClosed(Menu menu);菜单关闭后发生的动作。

2、使用第一种方法生成上下文菜单代码:

3、使用第二种方法生成上下文菜单代码:

4、上下文菜单样式:



二、子菜单(SubMenu)

 默认样式是在屏幕底部弹出一个菜单,这个菜单我们就叫他选项菜单OptionsMenu,一般情况下,选项菜单最多显示2排每排3个菜单项,这些菜单项有文字有图标,也被称作Icon Menus,如果多于6项,从第六项开始会被隐藏,在第六项会出现一个More里,点击More才出现第六项以及以后的菜单项,这些菜单项也被称作Expanded Menus。
在原先OptionsMenu代码基础上增加如下代码:
即可实现!

三、程序截图



四、程序下载

点击这里下载程序





更多相关文章

  1. Android(安卓)DialogFragment底部弹出菜单
  2. Android(安卓)点击View Rotate旋转带视图动画
  3. Android(安卓)自定义发送验证码, 倒计时
  4. android模仿移动MM Tab 点击 背景 滑动效果
  5. android 自动化测试之MonkeyRunner学习(二)
  6. Android-menu键选项菜单的实现
  7. android开发实例06:popwindow实现下拉菜单
  8. RecyclerView 结合 CardView 使用(二)
  9. Android(安卓)UI开发第二十七篇——实现左右划出菜单

随机推荐

  1. asp是什么语言
  2. C#中的ArrayList是什么?
  3. C++笔试题之实现简单记录错误功能
  4. C#中var和dynamic之间的区别是什么?
  5. Perl中如何对混合字符串进行排序?(代码示例
  6. C语言入门自学书籍推荐
  7. 用C++实现数据的管理功能
  8. Perl中如何实现堆栈
  9. C语言笔记-基于C语言实现的流水跑马灯
  10. C ++控制语句的使用