Android講義—菜單

從Android 3.0 開始,系統並不要求手機設備必須提供MENU按鍵,在這種情況下,使用ActionBar代替菜單。

Android同樣支持上下文菜單,即 ContextMenu。

Menu隻是一個父接口,它提供2個子接口

SubMenu:子菜單,可以包含1~N個MenuItem

ContextMenu:上下文菜單,可以包含1~N個MenuItem

不同菜單的特征:

選項菜單:不支持勾選標記,並且隻顯示濃縮標題。

子菜單:不支持菜單項圖標,不支持嵌套子菜單。

上下文菜單:不支持菜單快捷鍵和圖標。

Menu接口定義瞭如下方法添加子菜單或菜單項

MenuItem add(int titleRes):添加一個新的菜單項

MenuItem add(int groupid,int itemid,int order,int titleRes):添加一個新的處於groupid組的菜單項

MenuItem add(CharSequence title):添加一個新的菜單項

SubMenu addSubMenu(int titilRes):添加一個新的子菜單

SubMenu addSubMenu(int groupid,int itemid,int order,int titleRes):添加一個新的處於groupid組的子菜單

SubMenu addSubMenu(CharSequence title):添加一個新的子菜單

SubMenu addSubMenu(int groupid,int itemid,int order,CharSequence title):添加一個新的處於groupid組的子菜單

SubMenu繼承瞭Menu,以下為常用方法,以下方法Menu,ContextMenu同樣適用

setHeaderIcon(Drawable icon):設置菜單頭的圖標

setHeaderIcon(int icon):設置菜單頭的圖標

setHeaderTitle(int title):設置菜單頭的標題

setHeaderTitle(CharSequence title):設置菜單頭的標題

setHeaderView(View view):使用View設置菜單頭

添加菜單或子菜單的步驟如下:

1:重寫Activity的onCreateOptionsMenu(Menu menu),在該方法裡調用Menu對象添加菜單或者子菜單

2:重寫Activity的onOptionsItemSelected(MenuItem mi)即可。

除瞭第2步,還可以設置監聽器監聽選擇事件

setOnMenuItemClickListener

創建多選菜單

setCheckable:設置菜單項可以勾選

setGroupCheckable:設置一組菜單勾選

創建快捷鍵

setAlphabeticShortcut:設置字母快捷鍵

setNumericShortcut:設置數字快捷鍵

setShortcut:同時設置兩種快捷鍵

設置菜單啟動別的程序

setIntent(Intent it);//測試過無效

You May Also Like