歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android之路-Android菜單簡介

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 用來處理選中的菜單項。 

代碼及演示: 

帶單選或復選的子菜單

  1. public boolean onCreateOptionsMenu(Menu menu){  
  2.       
  3.     MenuInflater inflater = this.getMenuInflater();  
  4.     inflater.inflate(R.menu.options_menu, menu);  
  5.       
  6.     SubMenu submenu  =  menu.addSubMenu(1,SUBMENU,1,"顯示選項");  
  7.     submenu.add(20,SUBITEM1,1,"僅顯示有電話號碼的聯系人");  
  8.     submenu.getItem(0).setCheckable(true);//復選子菜單  

  1. SubMenu submenu2  =  menu.addSubMenu(1,SUBMENU,1,"導入/導出");  
  2.  submenu2.add(20,SUBITEM3,1,"從SIM卡導入");  
  3.  submenu2.add(20,SUBITEM4,1,"從SD卡導入");  
  4.  submenu2.add(20,SUBITEM5,1,"導出到SD卡");  
  5.  submenu2.add(20,SUBITEM6,1,"分享可見的聯系人");  
  6.  submenu2.add(20,SUBITEM7,1,"退出");  

     

  1. SubMenu submenu4  =  menu.addSubMenu(1,SUBMENU,1,"賬戶");  
  2. submenu4.add(20,SUBITEM8,1,"背景數據");  
  3. submenu4.add(20,SUBITEM9,1,"自動同步");  
  4. submenu4.setGroupCheckable(20true,true);//單選子菜單  

Copyright © Linux教程網 All Rights Reserved