前言

今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享。

PS:强烈推荐《Pro Android 3》,是我至今为止看到的最好的一本android书,中文版出到《精通Android 2》。

理解Android的菜单

菜单是许多应用程序不可或缺的一部分,Android中更是如此,所有搭载Android系统的手机甚至都要有一个"Menu"键,由此可见菜单在Android程序中的特殊性。Android SDK提供的菜单有如下几种:

  1. 选项菜单:最常规的菜单,android中把它叫做option menu
  2. 子菜单:android中点击子菜单将弹出悬浮窗口显示子菜单项。子菜单不支持嵌套,即子菜单中不能再包括其他子菜单。
  3. 上下文菜单:android中长按视图控件后出现的菜单,windows点击右键弹出的菜单即上下文菜单
  4. 图标菜单:这个比较简单,就是带icon的菜单项,需要注意的是子菜单项、上下文菜单项、扩展菜单项均无法显示图标
  5. 选择菜单(alternative menu):用的比较少,以后单独介绍,本文先跳过(其实是我还没弄明白啦o(≧v≦)o~~)
  6. 扩展菜单:选项菜单最多只能显示6个菜单项,超过6个时,第6个菜单项会被系统替换为一个叫“更多”的子菜单,原来显示不下的菜单项都作为“更多”菜单的子菜单项。如下图:

     

        第6个菜单项自动变为“更多”              点击“更多”显示其他菜单项

Android3.0又引入了一个叫action bar的东西,本文不做讲解,大家自己google。

android.view.Menu接口代表一个菜单,android用它来管理各种菜单项。注意我们一般不自己创建menu,因为每个Activity默认都自带了一个,我们要做的是为它加菜单项和响应菜单项的点击事件。android.view.MenuItem代表每个菜单项,android.view.SubMenu代表子菜单。其三者的关系可以用下图来表示

  

上面说过,每个activity包含一个菜单,一个菜单又能包含多个菜单项和多个子菜单,子菜单其实也是菜单(因为它实现了Menu接口),因此子菜单也可以包含多个菜单项。SubMenu继承了Menu的addSubMenu()方法,但调用时会抛出运行时错误。OnCreateOptionsMenu()和OnOptionsMenuSelected()是activity中提供了两个回调方法,用于创建菜单项和响应菜单项的点击。

下一篇《Android菜单详解(二)——创建并响应菜单》将介绍如何使用代码创建菜单项,给菜单项分组,及各种响应菜单事件的方法。

http://www.cnblogs.com/codingmyworld/archive/2011/08/21/2147829.html

更多相关文章

  1. tools:context=".MainActivity的作用
  2. 监听android:drawableLeft和android:drawableRight点击事件
  3. Android(安卓)扩大点击区域
  4. Android(安卓)程序主菜单 布局
  5. Android菜单详解——理解android中的Menu
  6. Android高级--自定义控件一,优酷…
  7. Android(安卓)程序主菜单 布局
  8. Android(安卓)开发实践(一)开始你的 Hello World
  9. RatingBar 不可点击

随机推荐

  1. android 笔记 02
  2. Android的StatusBar资料收集
  3. Android属性之build.prop生成过程
  4. 聊天室服务端
  5. Android(安卓)从缓存中读取图片并异步加
  6. Android利用Fiddler进行网络数据抓包
  7. Android存储访问及目录
  8. android 从驱动到应用(一)
  9. View Android Source Code in Eclipse
  10. Activity启动模式设置(堆栈中的生存时间)