Android提供了三種菜單:
options menu,context menu,sub menu。
options menu就是通過按home鍵來顯示,
context menu需要在view上按上2s後顯示。
這兩種menu都有可以加入子菜單,子菜單不能種不能嵌套子菜單。
options menu
options menu最多只能在屏幕最下面顯示6個菜單選項,稱為icon menu,icon menu不能有checkable選項。
多余6的會以more icon menu來調出,成為expanded menu。options menu通過activity的onCreateOptionsMenu來生成,這個函數只會在menu第一次生成時調用。
任何想改變options menu的想法只能在onPrepareOptionsMenu來實現,這個函數會在menu顯示前調用。onOptionsItemSelected 處理選中的菜單項。
context menu
context menu是跟某個具體的view綁定在一起,在activity種用registerForContextMenu來為某個view注冊context menu。context menu在顯示前都會調用onCreateContextMenu來生成menu。onContextItemSelected選中的菜單項。
android還提供了對菜單項進行分組的功能,可以把相似功能的菜單項分成同一個組,這樣就可以通過調用setGroupCheckable,setGroupEnabled,setGroupVisible來設置菜單屬性,而無須單獨設置。
options menu利用XML文件定義選項菜單
a) options menu通過activity的onCreateOptionsMenu來生成
b) 這個函數只會在menu第一次生成時調用。
i. 任何想改變options menu的想法只能在onPrepareOptionsMenu來實現,這個函數會在menu顯示前調用。
onOptionsItemSelected 用來處理選中的菜單項。
代碼及演示:
帶單選或復選的子菜單