天天看點

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")  

    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;  

        }  

    };  

}  

效果圖如下:

Android标題欄上添加多個Menu按鈕

繼續閱讀