android用戶界面——菜單menu

    android中的menu資源是一個不容忽視的東東,將menu用好了能給應用程序增加許多生機。今天學習android 的menu資源,幾下筆記!

    在android中每個視圖組件的創建方式都可以有兩種方式:1、通過xml文件及佈局文件中聲明創建,在佈局文件中聲明的組件可以通過android:的方式設置其屬性。2、就是通過代碼的方式在在.java文件中創建。menu組件作爲一個視圖組件,當然也不例外。在android中,menu被分爲三種類型:選項菜單(Optin Menu)、上下文菜單(Context Menu)和子菜單(Sub Menu)

 

1、選項菜單(Optin Menu)

       當用戶按下menu鍵的時候在屏幕上顯示的菜單及時所謂的選項菜單,在option menu中屏幕上最多能顯示6個。如果超出的話就會在最後一個menu上面顯示更多,來顯示超過的部分。

 

 

下面就來詳細看看這個所謂的option menu是怎麼實現的,首先在代碼文件組中添加如下代碼:

package com.ch04;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class optionmenu extends Activity {
    /** Called when the activity is first created. 
     * @return */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         }
        public boolean onCreateOptionsMenu(Menu menu) { //增加menu控件的方法直接在.java文件中增加即可。創建一個完整的menu框架。
      // TODO Auto-generated method stub
      menu.add(0, 1, 1,"Open");   //onCreateOptionsMenu方法中增加的內容,此處有兩項一個是增加一個menu_about,一個是增加menu_exit
      menu.add(0, 2, 2,"Exit"); //創建的是menu框架中的內容
      
         
      return super.onCreateOptionsMenu(menu);
        }
        public boolean onOptionsItemSelected(MenuItem Item){ //當MenuItem被選中時,就覆蓋activity的onOptionsItemSelected()來響應事件,
                                                          //此處的事件爲setTitle()和finish();
        /* if(Item.getItemId()==1){
          setTitle("start game title");
         }else if(Item.getItemId()==3){
          finish();
         }*/
         switch(Item.getItemId()){
         case 1:
          setTitle("start game title");
          break;
         case 2:
          finish();
          break;
         }
         
         return super.onOptionsItemSelected(Item);
        }
   
}


 

run一下,得到運行的程序界面如下

 

總結一下,創建一個option menu的步驟: 

  1.覆蓋activity的onCreateOptionsMenu(Menu menu)

  2.調用add()添加菜單項(MenuItem)

  3.當菜單被選擇時,就調用響應的事件來覆蓋activity的onOptionItemSelected()方法

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章