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()方法