android 实现按钮键菜单的方法

记忆力不好,实现过程记录一下.

 

在 acvitity类中,定义2个类的成员变量

protected static final int Menu_About = Menu.FIRST;
protected static final int Menu_Exit = Menu.FIRST+1;

 

在类的空白处,右键鼠标按钮,点[Source]后出现的弹出菜单里点[overried/implments method].

在弹出的对话框里,在Activity里选上onCreateOptionMenu(Menu),点  OK  按钮.

在程序类代码会自动覆写出代码:

@Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // TODO Auto-generated method stub
  return super.onCreateOptionsMenu(menu);
 }

 

 将 return super.onCreateOptionsMenu(menu);  这句注释掉.

然后在里面加入创建菜单项代码:

super.onCreateOptionsMenu(menu);

menu.add(0,Menu_About,0,"关于").setIcon(R.drawable.icon);
menu.add(0,Menu_Exit,0,"退出").setIcon(R.drawable.icon);
return true;

setIcon(R.drawable.icon); 是设置菜单上的图片,如果不想要,可以取消.

 

如何响应菜单被按下的事件呢?需要覆写onOptionsItemSelected这个方法.

在类的空白处,右键鼠标按钮,点[Source]后出现的弹出菜单里点[overried/implments method].

在弹出的对话框里,在Activity里选上onOptionsItemSelected(MenuItem ),点  OK  按钮.

 

@Override
 public boolean onOptionsItemSelected(MenuItem item) {
  // TODO Auto-generated method stub
  return super.onOptionsItemSelected(item);
 }

 把 return super.onOptionsItemSelected(item);注释掉,写上

super.onOptionsItemSelected(item);
  switch(item.getItemId())
  {
  case Menu_About:
      break;
  case Menu_Exit:
      break;
  }
  return true;

 

如何判断是哪个按钮被按了呢?根据item.getItemId()方法获得某个菜单项的ID,就是我们在类中定义的
protected static final int Menu_About = Menu.FIRST;
protected static final int Menu_Exit = Menu.FIRST+1;

这两个.

剩下的工作就是想对应某项实现的具体功能了.

 

正常情况下,菜单不显示出来的.只有在改activity显示的时候,按键盘上的"MENU"才会显示出来.

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值