一般來說Create Menu有兩個方式 一個是直接用menu.add

@Override
public boolean onCreateOptionsMenu(Menu menu){//產生Menu選項
     menu.add(0,MENU_ABOUT,0,getString(R.string.menu_about));
     menu.add(0,MENU_EXIT,1,getString(R.string.menu_exit));
     return super.onCreateOptionsMenu(menu);
}

 

另一個是利用MenuInflater

MenuInflater  

先看XML檔

res 目錄下Create menu 目錄,並Create options_menu.xml :

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <menu  
  3.   xmlns:android="http://schemas.android.com/apk/res/android">  
  4.     <item android:id="@+id/menu_add"  
  5.           android:title="Add"  
  6.           android:icon="@android:drawable/ic_menu_add"  
  7.            />  
  8.     <item android:id="@+id/menu_wallaper"  
  9.           android:title="Wallpaper"  
  10.           android:icon="@android:drawable/ic_menu_gallery"  
  11.            />  
  12.    <item android:id="@+id/menu_search"  
  13.           android:title="Search"  
  14.           android:icon="@android:drawable/ic_search_category_default"  
  15.            />  
  16.    <item android:id="@+id/menu_setting"  
  17.           android:title="Settings"  
  18.           android:icon="@android:drawable/ic_menu_preferences"  
  19.            />  
  20. </menu>  

主程式中

  1. @Override  
  2.     public boolean onCreateOptionsMenu(Menu menu) {  
  3.         MenuInflater inflater = getMenuInflater();  
  4.         inflater.inflate(R.menu.options_menu, menu);      
  5.         return true;  
  6.     }  
  7.       
  8.     @Override  
  9.     public boolean onOptionsItemSelected(MenuItem item) {  
  10.         switch (item.getItemId()) {  
  11.         case R.id.menu_add:  
  12.               
  13.             break;  
  14.         case R.id.menu_wallaper:  
  15.             break;  
  16.         case R.id.menu_search:  
  17.             break;  
  18.         case R.id.menu_setting:  
  19.             showSettings();  
  20.             break;  
  21.         }  
  22.         return super.onOptionsItemSelected(item);  
  23.     }  

,
創作者介紹

Mazs's Notes

cookiesp 發表在 痞客邦 PIXNET 留言(0) 人氣()