`

关于android的Menu理解

阅读更多
任何一款软件都少不了对“菜单”的使用。在Android下,每一个activity都捆绑了一个Menu,要想定义和使用菜单,都必须在 Activity下进行操作,复写onCreateOptionsMenu 和 onOptionsItemSelected这两个方法。举例如下:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    //调用基类的方法,以便调出系统菜单(如果有的话)
    super.onCreateOptionsMenu(menu);
    menu.add(0, 1, 0, "重新开始").setIcon(R.drawable.refresh);
    menu.add(0, 2, 0, "游戏指南").setIcon(R.drawable.help);
    menu.add(0, 3, 0, "关于游戏").setIcon(R.drawable.info);
    menu.add(0, 4, 0, "不想玩了").setIcon(R.drawable.exit);
    //返回值为”true”,表示菜单可见,即显示菜单
    return true;
}

看一看menu.add的方法中的参数:


第一个int类型的group ID参数,代表的是组概念,你可以将几个菜单项归为一组,以便更好的以组的方式管理你的菜单按钮。可以用到的方法有:
removeGroup(id)
setGroupCheckable(id, checkable, exclusive)
setGroupEnabled(id,boolean enabled)
setGroupVisible(id,visible)
个人认为,当你需要在不同场合下显示不同的menu的时候,合理使用这个参数将更为有效的处理菜单的显示。否则一般情况下都归为一组。
第二个int类型的item ID参数,代表的是项目编号。这个参数非常重要,一个item ID对应一个Menu中的选项。在后面使用菜单的时候,就是靠这个item ID来判断,你选中的是哪个选项。
第三个int类型的order ID参数,代表的是菜单项的显示顺序。默认是0,表示菜单的显示顺序就是按照add的顺序来显示。
第四个String类型的title参数,表示选项中显示的文字。
再看看setIcon方法,就是为菜单添加图标显示,使用用资源文件。

设计好了菜单,继续复写onOptionsItemSelected方法,用以对菜单的响应,示例代码:

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    super.onOptionsItemSelected(item);
    switch(item.getItemId()){
        case 1:
            //处理代码
            break;
        case 2:
            //处理代码
            break;
        case 3:
            //处理代码
            break;
        case 4:
            finish();
            break;
     }
    return true;
}
  • 大小: 19.6 KB
0
3
分享到:
评论

相关推荐

    学习理解Android菜单Menu操作

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

    Android编程入门很简单.(清华出版.王勇).part1

    8.1深入理解Activity 8.1.1使用Intent连接Activity 8.1.2 Activity的生命周期 …… 第9章Android中的数据存储 第10章绚丽的多媒体技术 第11章Android网上冲浪 第12章Android地图服务 第4篇项目案例开发 第13章联系人...

    android 自定义控件(底部icon点击效果)

    (考虑到新手可能不易理解,笔者代码没有多加功能) 把底部icon做成自定义控件的优势: 1、搭配fragment或者viewpager使用的时候更加方便,避免写过多重复性代码。 2、代码维护起来更加方便,比如要修改底部icon中的...

    Android菜单操作之创建并响应菜单

    上一篇《学习理解Android菜单Menu操作》简单介绍了一下Android的菜单,今天让我们看一下如何通过代码创建和响应最常用的选项菜单(options menu)。 一、创建options menu 之前提到,Android的activity已经为我们...

    《Google Android开发入门与实战》.pdf

    本书注重对实际动手能力的指导,在遵循技术研发知识体系的严密性同时,在容易产生错误、不易理解的环节配以了翔实的开发情景截图,并将重要的知识点和开发技巧以“小实验”、“小提醒”、“小知识”、“注意”等的...

    Android编程入门很简单.(清华出版.王勇).part2

    8.1深入理解Activity 8.1.1使用Intent连接Activity 8.1.2 Activity的生命周期 …… 第9章Android中的数据存储 第10章绚丽的多媒体技术 第11章Android网上冲浪 第12章Android地图服务 第4篇项目案例开发 第13章联系人...

    疯狂Android讲义源码

     6.7 使用菜单(Menu)资源 239  6.7.1 定义菜单资源 239  6.7.2 使用菜单资源 240  6.8 样式(Style)和主题(Theme)  资源 243  6.8.1 样式资源 243  6.8.2 主题资源 245  6.9 属性(Attribute)资源 247...

    筛选菜单库DropDownMenu­_.zip

     }使用教程添加DropDownMenu 到你的布局文件,如下<com android:id="@ id/dropDownMenu" android:layout_width="match_parent" android:layout_height="match_parent" app:ddmenuTextSize="13sp" app:...

    Google.Android开发入门与实战

    《Android开发入门与实战》注重对实际动手能力的指导,在遵循技术研发知识体系的严密性同时,在容易产生错误、不易理解的环节配以了翔实的开发情景截图,并将重要的知识点和开发技巧以“小实验”、“小提醒”、“小...

    [Android开发权威指南].李宁.扫描版.pdf

     《Android开发权威指南》注重对实际动手能力的指导 在遵循技术研发知识体系严密性的同时 在容易产生错误 不易理解的环节上配备了翔实的开发情景截图;并将重要的知识点和开发技巧以“多学一招” “扩展学习” ...

    Android实例代码

    第4章、深入理解Activity 4.1、建立、配置和使用Activity: 4.2、Activity的回调机制: 4.3、Activity的生命周期: 第5章、使用Intent和IntentFilter进行通信 5.1、Intent对象详解: 5.2、Intent的属性及intent...

    Android实训实习报告总结.docx

    2.3、Menu MenuDrawer Android实训实习报告总结全文共13页,当前为第3页。Android实训实习报告总结全文共13页,当前为第3页。滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前View处于上下层...

    疯狂Android讲义(第2版)源代码 第6章~第9章

    第4章、深入理解Activity 4.1、建立、配置和使用Activity: 4.2、Activity的回调机制: 4.3、Activity的生命周期: 第5章、使用Intent和IntentFilter进行通信 5.1、Intent对象详解: 5.2、Intent的属性及intent...

    疯狂Android讲义.part2

    6.7 使用菜单(Menu)资源 239 6.7.1 定义菜单资源 239 6.7.2 使用菜单资源 240 6.8 样式(Style)和主题(Theme) 资源 243 6.8.1 样式资源 243 6.8.2 主题资源 245 6.9 属性(Attribute)资源 247 6.10 使用原始...

    疯狂Android讲义.part1

    6.7 使用菜单(Menu)资源 239 6.7.1 定义菜单资源 239 6.7.2 使用菜单资源 240 6.8 样式(Style)和主题(Theme) 资源 243 6.8.1 样式资源 243 6.8.2 主题资源 245 6.9 属性(Attribute)资源 247 6.10 使用原始...

    menu-listview:列表中的菜单功能变得简单

    这是一个用于Android的库,它使在列表视图中使用菜单更加容易。 它使您可以将项目添加到列表中,并通过更易于理解的方式(必须处理每个单独元素的索引)将它们与侦听器链接起来。 另外,您可以添加子菜单,在该菜单...

Global site tag (gtag.js) - Google Analytics