Android menu按键的监听

原文:http://blog.csdn.net/hongchangfirst/article/details/7936524

作者:hongchangfirst


Android手机一般有三键或四键,有返回键,menu键和home键(一般在中间)。

其实想实现的目的很简单,按下Menu键的时候,在Activity中把一个值设置成true,同时弹出菜单,菜单消失的时候再把这个值设成false。搞来一个多小时,其实很简单:

override onKeyDown 和 onOptionsMenuClosed这个两个函数就可以实现,具体代码如下:

@Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
  
  if (keyCode == KeyEvent.KEYCODE_MENU) { 
   // 在这里做你想做的事情
   super.openOptionsMenu();  // 调用这个,就可以弹出菜单
  }   
  return true; // 最后,一定要做完以后返回 true,或者在弹出菜单后返回true,其他键返回super,让其他键默认
 }

 @Override
 public void onOptionsMenuClosed(Menu menu) {
//在这里做你想做的事情  

  super.onOptionsMenuClosed(menu);
 }


然后是对menu菜单的配置,如下:

   @Override      

public void openOptionsMenu() {        

  // TODO Auto-generated method stub    

      super.openOptionsMenu();   

   }  
      @Override   

  public boolean onCreateOptionsMenu(Menu menu) {    

      // TODO Auto-generated method stub          

super.onCreateOptionsMenu(menu);  

   int group1 = 1;        

  int gourp2 = 2;       

  menu.add(group1, 1, 1, "item 11");  

        menu.add(group1, 2, 2, "item 12");    

        return true;   

   }      

  @Override     

 public boolean onOptionsItemSelected(MenuItem item) {   

       // TODO Auto-generated method stub      

    switch (item.getItemId()) {   

  case 1: // do something here            

  Log.i("MenuTest:", "ItemSelected:1");      

        break;       

  case 2: // do something here       

    Log.i("MenuTest:", "ItemSelected:2");         

     break;      

   default:   

         return super.onOptionsItemSelected(item);   

       } 

return true; 

  }  




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值