Android menu按鍵的監聽

jopen 12年前發布 | 102K 次閱讀 Android Android開發 移動開發

原文: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; 

  }  


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!