在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; } }
想看看效果不,自己动手试试(-_-)