学习理解Android菜单Menu操作

 更新时间:2016年04月17日 16:47:16   作者:CodingMyWorld  
这篇文章主要帮助大家理解Android菜单Menu操作,引入Android菜单Menu操作的知识,感兴趣的小伙伴们可以参考一下

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

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

理解Android的菜单

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

选项菜单:最常规的菜单,android中把它叫做option menu子菜单:android中点击子菜单将弹出悬浮窗口显示子菜单项。子菜单不支持嵌套,即子菜单中不能再包括其他子菜单。上下文菜单:android中长按视图控件后出现的菜单,windows点击右键弹出的菜单即上下文菜单图标菜单:这个比较简单,就是带icon的菜单项,需要注意的是子菜单项、上下文菜单项、扩展菜单项均无法显示图标。选择菜单(alternative menu):用的比较少,以后单独介绍,本文先跳过,其实是我还没弄明白,

扩展菜单:选项菜单最多只能显示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菜单操作之创建并响应菜单》将介绍如何使用代码创建菜单项,给菜单项分组,及各种响应菜单事件的方法。

相关文章

  • Android ListView隐藏右侧滚动条功能

    Android ListView隐藏右侧滚动条功能

    这篇文章主要介绍了Android ListView隐藏右侧滚动条功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • Android 模拟信号示波器示例代码

    Android 模拟信号示波器示例代码

    本文主要介绍Android 模拟信号示波器的开发示例,这里提供了示例代码和实现效果图,有兴趣的小伙伴可以参考下
    2016-08-08
  • Android使用TabLayout+Fragment实现顶部选项卡

    Android使用TabLayout+Fragment实现顶部选项卡

    本文通过实例代码给大家介绍了Android使用TabLayout+Fragment实现顶部选项卡功能,包括TabLyout的使用,感兴趣的朋友参考下本文吧
    2017-05-05
  • android开发教程之开机启动服务service示例

    android开发教程之开机启动服务service示例

    如果开机启动一个Activity,开机首先看的界面,是你的程序界面,如果为了,开机后也启动你的程序,但是不显示自己程序的界面,就要用Service服务,下面是开机启动服务service示例
    2014-03-03
  • Android手势ImageView三部曲 第一部

    Android手势ImageView三部曲 第一部

    这篇文章主要为大家详细介绍了Android手势ImageView三部曲的第一部,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Android app应用多语言切换功能实现

    Android app应用多语言切换功能实现

    这篇文章主要为大家详细介绍了Android app应用多语言切换功能实现代码,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • android几种不同对话框的实现方式

    android几种不同对话框的实现方式

    这篇文章介绍了android几种不同对话框的实现,主要包括:1、显示提示消息的对话框.2、简单列表项对话框。3、单选列表项对话框。4、多选列表对话框。5、自定义列表项对话框。6、自定义View的对话框,需要的朋友可以参考下
    2015-08-08
  • Android编程中关于单线程模型的理解与分析

    Android编程中关于单线程模型的理解与分析

    这篇文章主要介绍了Android编程中关于单线程模型的理解与分析,较为详细的分析了Android编程中关于单线程的原理与相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • Android通用LoadingView加载框架详解

    Android通用LoadingView加载框架详解

    这篇文章主要为大家详细介绍了Android通用LoadingView加载框架的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Android浮动窗口实现原理及代码实例

    Android浮动窗口实现原理及代码实例

    这篇文章主要介绍了Android浮动窗口实现原理及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07

最新评论