【需求说明】
1. 按下安卓手机菜单键,可以弹出菜单选项
2. 点击菜单选项中的某一些,做出点击响应动作(以Toast显示点击动作即可)
【效果展示】
【设计代码】
1. 菜单响应重写 boolean onCreateOptionsMenu(Menu menu) 方法
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
Log.d(TAG, "onCreateOptionsMenu triggered!");
menu.add(0, Menu_About, 0, "关于");
menu.add(0, Menu_Exit, 0, "退出");
return super.onCreateOptionsMenu(menu);
}
注意:增加菜单子项为menu.add 方法,详细的接口说明可以直接查看源码,这里需要在参数2和参数4设置菜单子项的Id和Title.
2. 菜单点击响应 重写 boolean onOptionsItemSelected(MenuItem item) 方法
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
Log.d(TAG, String.format("item id = %d", item.getItemId()));
switch (item.getItemId()) {
case Menu_Exit:
Toast toast = Toast.makeText(MainActivity.this, "Menu_Exit triggered!", Toast.LENGTH_SHORT);
//toast.setGravity(Gravity.TOP , 0, 50);
toast.show();
break;
case Menu_About:
Toast toast2 = Toast.makeText(MainActivity.this, "Menu_About triggered!", Toast.LENGTH_SHORT);
//toast2.setGravity(Gravity.TOP , 0, 50);
toast2.show();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
这里在收到子项点击的回调后,根据菜单ItemId来标识是哪一个子项产生的点击动作,从事进行相应处理。