Android中的选项菜单(OptionMenu)使用案例

在Android中的每一个activity都捆绑了一个OptionMenu,它是通过调用OnCreateOptionMenu(Menu menu)函数来进行初始化,我们可以覆写这个函数,来设置一个activity的响应菜单。下面通过一个小例子来说明具体如何实现。

package com.yangzi.optionmenu;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
/*
 * 创建一个Android工程后,进入MainActivity类,覆写这里的onCreateOptionsMenu方法和OnOptionItemSelected方法
 *
 * */
public class MainActivity extends Activity {
    //声明菜单子选项ID号
    private static final int ITEM1 = Menu.FIRST;
    private static final int ITEM2 = ITEM1+1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    /*
     * 覆写该方法,产生菜单
     *
     * */
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //add方法是添加一个菜单的子选项

        /*
         * 关于add方法的参数说明:
         * 参数一:group ID(int) :组ID,用于标示该子选项属于哪一个组
         * 参数二:item ID(int) :子选项ID,用于标示该子选项
         * 参数三:order ID(int): 显示顺序,用于标示该子选项显示顺序,默认为0,表示按添加顺序显示
         * 参数四:title (String): 用于定义该子选项的显示文字
         *
         * */
        menu.add(0,ITEM1,0,"开始");
        menu.add(0,ITEM2,0,"退出");
        return true;
    }
    /*
     * 覆写该方法,添加相应的菜单相应事件
     *
     * */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        /*
         * 根据选择的子选项(通过item ID来区分),进行不同的响应
         *
         * */
        switch(item.getItemId()){
        case ITEM1:
            setTitle("开始游戏");//这里设置该activity的标题
            break;
        case ITEM2:
            setTitle("退出");
            break;
        }
        return true;
    }
}

想看看效果不,自己动手试试(-_-)

时间: 2024-10-11 15:53:06

Android中的选项菜单(OptionMenu)使用案例的相关文章

Android中的子菜单(SubMenu)使用案例

Android中创建子菜单的步骤: 1.覆盖Activity中的onCreateOptionMenu()方法,调用Menu的addSubMenu()方法添加子菜单. 2.调用SubMenu的add方法,添加子菜单. 3.覆盖onContextItemSelected()方法,响应子菜单. 来看个小例子: package com.yangzi.submenu; import android.os.Bundle; import android.app.Activity; import android

Android中自定义视图View之---开发案例

自定义视图View的案例 下面我们就是开始正式的进入自定义视图View了 在讲解正式内容之前,我们先来看一下基本知识 1.我们在自定义视图View的时候正确的步骤和方法 1).必须定义有Context/Attrbuite参数的构造方法,并且调用父类的方法 public LabelView(Context context, AttributeSet attrs) 不然会报错: 2).重写onMeasure方法 @Override protected void onMeasure(int width

Android中的上下文菜单(ContextMenu)使用案例

在Android中长按住一个控件(像一个文本显示框TextView,一个按钮Button都是一个控件)弹出的菜单为上下文菜单,创建一个上下文菜单分为下面几个步骤: 1.覆写onCreateContextMenu方法,生成对应的菜单子选项. 2.覆写onContextItemSelected方法,生成对应子选项的响应事件. 3.为一个控件注册上下文菜单. 下面看一个小例子: 1.在MainActivity的xml文件中添加一个TextView控件,ID为myTextV: <TextView and

选项菜单-OptionMenu

在Android Studio中,新建的Module的Activity中默认就会重写下面两个方法 public boolean onCreateOptionsMenu(Menu menu); public boolean onOptionsItemSelected(MenuItem item); ■. 添加菜单: 在Activity中重写下面两个方法可以添加菜单 public boolean onCreateOptionsMenu(Menu menu); // 在创建Activity时执行创建菜

[android](学习笔记7)为应用程序添加选项菜单

1 在xml文件中定义选项菜单: 创建res/menu目录,并添加xml文件:选择New-Android XML File.选择Menu文件资源类型: 打开新建的xml文件,切换到xml编辑视图,添加新的item元素: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" &g

Android选项菜单和上下文菜单解析

选项菜单 创建选项菜单 Activity类的onCreateOptionMenu事件方法用来创建选项菜单,该方法定义如下: @Override public boolean onCreateOptionsMenu(Menu menu) { return super.onCreateOptionsMenu(menu); } 一般需要将创建选项菜单的代码放在onCreateOptionMenu方法中.通过Menu.add方法可以添加一个选项菜单.该 方法有4种重载形式,定义如下: public Me

Android中线程间通信原理分析:Looper,MessageQueue,Handler

自问自答的两个问题 在我们去讨论Handler,Looper,MessageQueue的关系之前,我们需要先问两个问题: 1.这一套东西搞出来是为了解决什么问题呢? 2.如果让我们来解决这个问题该怎么做? 以上者两个问题,是我最近总结出来的,在我们学习了解一个新的技术之前,最好是先能回答这两个问题,这样你才能对你正在学习的东西有更深刻的认识. 第一个问题:google的程序员们搞出这一套东西是为了解决什么问题的?这个问题很显而易见,为了解决线程间通信的问题.我们都知道,Android的UI/Vi

Android进阶(二十八)上下文菜单ContextMenu使用案例

上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等操作,但是现在此操作莫名其妙的消失了.写了个测试Demo,如中图所示,一切按照逻辑显示正常.怪就怪在项目中无法显示,起初设想是因为Android系统版本太高问题,但是在别的手机上测试之后发现问题依旧存在.难道是因为顶部Tab标题栏遮挡住了选项菜单的显示?继续测试,通过在别的没有Tab标题栏的页面测试选项菜单,

Android 菜单(OptionMenu)

菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu).上下文菜单(ContextMenu)和子菜单(SubMenu). 一.概述 public boolean onCreateOptionsMenu(Menu menu):使用此方法调用OptionsMenu . public boolean onOptionsItemSelected(MenuItem item):选中菜单项后发生的动作. public void onOpti