在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