最近項目中碰到要在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")
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:
}
return false;
}
};
}
效果圖如下:
