天天看點

Android禁止Menu菜單鍵長按,(Android菜單形式)

Activity 在Menu長按時候可能出現bug,在下部彈出popupMenu,想取消可以如以下方法,傳回false;

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.menu_help, menu);

return false;

}

public class MainActivity extends Activity

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    /**
     * 此方法用于初始化菜單,其中menu參數就是即将要顯示的Menu執行個體。 傳回true則顯示該menu,false 則不顯示;
     * (隻會在第一次初始化菜單時調用) Inflate the menu; this adds items to the action bar
     * if it is present.
    
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
  }

  @Override
  public boolean onPrepareOptionsMenu(Menu menu) {
    /**
     * 在onCreateOptionsMenu執行後,菜單被顯示前調用;如果菜單已經被建立,則在菜單顯示前被調用。 同樣的,
     * 傳回true則顯示該menu,false 則不顯示; (可以通過此方法動态的改變菜單的狀态,比如加載不同的菜單等) TODO
     * Auto-generated method stub
    
    return super.onPrepareOptionsMenu(menu);
  }

  @Override
  public void onOptionsMenuClosed(Menu menu) {
    /**
     * 每次菜單被關閉時調用. (菜單被關閉有三種情形,menu按鈕被再次點選、back按鈕被點選或者使用者選擇了某一個菜單項) TODO
     * Auto-generated method stub
    
    super.onOptionsMenuClosed(menu);
  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    /**
     * 菜單項被點選時調用,也就是菜單項的監聽方法。 
     * 通過這幾個方法,可以得知,對于Activity,同一時間隻能顯示和監聽一個Menu 對象。 TODO Auto-generated
     * method stub
    
    return super.onOptionsItemSelected(item);
  }

}