`

onCreateOptionsMenu 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;
}
分享到:
评论

相关推荐

    Android基础教程(五)之-Menu功能菜单设计

    参数分别表示:组ID、项ID、Order ID以及菜单项的显示文本。“关于”和“退出”分别被赋予了不同的项ID(0和1),这将在后续处理选择事件时用到。 ##### 2.2 处理菜单选择事件 为了响应用户的操作,开发者需要覆写...

    Android使用onCreateOptionsMenu()创建菜单Menu的方法详解

    1. `onCreateOptionsMenu(Menu menu)`:这是初始化菜单的地方,传入的`menu`参数用于构建菜单。返回`true`表示菜单可见,`false`则不显示。此方法仅在首次创建菜单时调用。 2. `onPrepareOptionsMenu(Menu menu)`:...

    Android基础教程之Menu功能菜单设计.pdf

    总结起来,Android中的Menu功能菜单设计主要涉及`onCreateOptionsMenu()`和`onOptionsItemSelected()`两个方法的使用,通过它们可以创建菜单项并处理用户的点击事件。在实际开发中,菜单不仅可以包含简单的文字提示...

    Android基础教程(五)之-----Menu功能菜单设计

    #### 二、创建Menu菜单 在Android开发中,可以通过覆盖`onCreateOptionsMenu()`方法来创建菜单。这个方法是在`Activity`中定义的,通常用来创建菜单项。 ##### 2.1 创建菜单项 在`MenuDemo`类中,我们首先导入了...

    Android基础教程(五)之-Menu功能菜单设计.pdf

    `onCreateOptionsMenu(Menu menu)`方法是用于创建菜单的。在这个方法中,我们通过调用`menu.add()`来添加菜单项。`menu.add()`接受四个参数:菜单组ID、菜单项ID、顺序和显示文本。在这里,我们创建了两个菜单项,...

    Android onCreateOptionsMenu的使用方法总结

    在Android应用开发中,`onCreateOptionsMenu` 是一个关键的方法,用于创建Activity的菜单界面。本文将深入探讨如何使用 `onCreateOptionsMenu` 来定义和使用Android应用中的菜单功能。 首先,每个Android Activity...

    Android 学习笔记(二七):Menu.doc

    2. **创建菜单**:当用户首次按下Menu键时,会调用`onCreateOptionsMenu()`方法。在这里,我们使用`menu.add()`方法添加菜单项。该方法的参数包括: - `groupId`:如果不分组,可以设置为`Menu.NONE`。 - `itemId`...

    android菜单使用示例

    参数依次为:组ID、菜单项ID、顺序ID(用于排序)和显示文本。 3. **设置MenuItem属性** 添加`MenuItem`后,可以使用`setShowAsAction()`方法决定菜单项是否在ActionBar中显示图标,或者使用`setTitle()`、`...

    动态添加菜单的资源代码

    要动态添加菜单项,我们需要在`onPrepareOptionsMenu()`或`onCreateOptionsMenu()`方法中使用`Menu.add()`方法。这个方法接受四个参数:组ID、菜单ID、菜单项的顺序号(用于排序)和标题。 ```java MenuItem ...

    在Activity中用xml添加菜单

    `inflate()`方法接受两个参数,第一个是菜单资源ID,第二个是要填充的菜单对象。 最后,我们需要重写`onOptionsItemSelected(MenuItem item)`方法来处理用户点击菜单项的事件: ```java @Override public boolean ...

    android平台下各种菜单的实现-含代码配详细注释

    首先,Android中的菜单主要有三种类型:选项菜单(Option Menu)、上下文菜单(Context Menu)和弹出式菜单(Popup Menu)。每种菜单都有其特定的使用场景和触发方式。 1. 选项菜单: 选项菜单通常出现在屏幕顶部...

    Android学习笔记(八):Activity-OpenMenu和LinearLayout.doc

    开发者需要在Activity类中重写`onCreateOptionsMenu(Menu menu)`方法来创建菜单。在这个方法中,我们可以使用`menu.add()`方法添加菜单项。例如: ```java @Override public boolean onCreateOptionsMenu(Menu menu...

    Android编程基础之Menu功能菜单设计实例

    在给定的代码中,我们看到`onCreateOptionsMenu(Menu menu)`方法被重写,用于添加菜单项。`menu.add()`方法用于向菜单中添加新的条目。它的参数分别是:菜单组ID(0)、菜单项ID(0或1)、顺序ID(0或1)和菜单项的...

    学习理解Android菜单Menu操作

    - `onCreateOptionsMenu(Menu menu)`:在这个方法中,我们使用`menu`参数来添加菜单项。 - `onOptionsItemSelected(MenuItem item)`:当用户选择一个菜单项时,系统会调用此方法,我们可以在这里处理用户的点击事件...

    Android学习笔记之Button,Toast,menu的简单用法

    public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu, menu); return true; } ``` 这里,`getMenuInflater().inflate()`方法用于加载XML定义的菜单资源(如res/menu/...

    Android中使用选项菜单模拟微信功能项目的代码清单.pdf

    每个`MenuItem`可以通过`menu.add()`方法创建,其中参数分别表示组ID、菜单项ID、顺序ID和显示文本。例如,`chat = menu.add(0, 1, 0, R.string.chat)`会创建一个名为“聊天”的菜单项,其ID为1。如果`setIcon()`...

    Android程序研发源码天天动听 半透明Menu效果.zip

    3. **Java代码控制**: 在Activity类中,重写`onCreateOptionsMenu(Menu menu)`方法来加载菜单资源,并在`onOptionsItemSelected(MenuItem item)`中处理菜单项的选择事件。此外,可以使用`setSupportActionBar()`和`...

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

    1. 重写`onCreateOptionsMenu(Menu menu)`,使用`menu.add()`添加菜单项。 2. 可以根据需要使用`onPrepareOptionsMenu(Menu menu)`动态更新菜单。 3. 使用`onOptionsItemSelected(MenuItem item)`来处理菜单项被点击...

    Android标题栏上添加多个Menu按钮的实例

    在Android应用开发中,标题栏(也称为ActionBar或Toolbar)...在实际开发中,可以参考其他相关的Android开发文章,如Android中menu的使用、PopupMenu组件、动态修改ToolBar的Menu菜单等,以进一步提升应用的用户体验。

    属于自己的常见Android选项菜单样式集合

    在这里,开发者可以通过`menu.add()`方法添加菜单项,该方法接受四个参数:组标识符、菜单项ID、顺序和显示文本。例如: ```java @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(Menu.NONE,...

Global site tag (gtag.js) - Google Analytics