Android 程式開發:(十五)使用菜單 —— 15.2 選項菜單

現在,我們就可以去修改上一節中的項目瞭。這樣,在用戶按menu鍵的時候就會彈出選項菜單瞭。
 
1. 使用上一節中的工程,在MenusActivity.java中添加一些代碼。
 
[java] 
public class MenusActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
         
        Button btn = (Button) findViewById(R.id.button1); 
        btn.setOnCreateContextMenuListener(this); 
    } 
     
    @Override 
    public void onCreateContextMenu(ContextMenu menu, View view, 
    ContextMenuInfo menuInfo) 
    { 
         super.onCreateContextMenu(menu, view, menuInfo); 
         CreateMenu(menu); 
    } 
     
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
        super.onCreateOptionsMenu(menu); 
        CreateMenu(menu); 
        return true; 
    } 
     
    @Override 
    public boolean onOptionsItemSelected(MenuItem item) 
    { 
         return MenuChoice(item); 
    } 
     
    private void CreateMenu(Menu menu) 
    { 
        ……   
    } 
 
    private boolean MenuChoice(MenuItem item) 
    { 
        …… 
    } 
 

2. 按F11在模擬器上面進行測試。下面展示彈出的選項菜單。選擇一個菜單項或者使用快捷鍵(A到D)。註意一點,1到3的菜單項並沒有顯示出圖標,盡管我們在代碼中設置瞭圖標。
 
 
3. 如果在AndroidManifest.xml中設置最小的SDK屬性為10(包括10)以下,然後重新加載程序,就會看見圖標瞭。如果菜單項過多的話,就會顯示一個More的選項。
 
[java] 
<uses-sdk android:minSdkVersion="10" /> 
 
 
想要在Activity中顯示出選項菜單,那麼就需要實現兩個方法:onCreateOptionsMenu()和onOptionsItemSelected()。前者在MENU鍵被點擊的時候被觸發,後者在一個菜單項被點擊的時候被觸發。
 
註意選項菜單在不同android版本中的樣式。
 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *