Android標題欄上添加多個Menu按鈕
最近項目中碰到要在Android Menu旁邊再添加一個按鈕,而不是點擊menu按鈕然后在彈出一些選項.
MainActivity代碼:
public class MainActivity extends Activity {
private static final int MENU_CONFIRM = 17;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@SuppressLint("NewApi")
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
//添加標題欄的確定按鈕
MenuItem item=menu.add(0,MENU_CONFIRM,0,R.string.operation_confirm);
/**
* setShowAsAction參數說明 MenuItem接口的一些常量
* SHOW_AS_ACTION_ALWAYS 總是顯示這個項目作為一個操作欄按鈕。
* SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW 此產品的動作視圖折疊成一個正常的菜單項。
* SHOW_AS_ACTION_IF_ROOM 顯示此項目作為一個操作欄的按鈕,如果系統有空間。
* SHOW_AS_ACTION_NEVER 從不顯示該項目作為一個操作欄按鈕。
* SHOW_AS_ACTION_WITH_TEXT 當這個項目是在操作欄中,始終以一個文本標簽顯示它,即使它也有指定一個圖標。
*/
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);//主要是這句話
item.setOnMenuItemClickListener(listener);//添加監聽事件
item.setIcon(R.drawable.ic_menu_confirm);//設置圖標
return true;
}
OnMenuItemClickListener listener=new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case MENU_CONFIRM:
Toast.makeText(MainActivity.this, "您點擊了確定按鈕", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return false;
}
};
}
效果圖如下:

浙公網安備 33010602011771號