標籤:android 菜單 optionmenu
1.選項菜單(optionMenu)
建立選項菜單的步驟:
1.覆蓋Activity的 onCreateOptionMenu(Menu menu)方法,當菜單第一次被開啟時調用
2.調用Menu的add() 方法添加功能表項目(MenuItem),同時可以調用MenuItem的setlcon()方法為功能表項目設定表徵圖
3.當功能表項目(MenuItem)被選擇是,覆蓋Activity 的onOptionsItemSelected(MenuItem item)來響應事件
import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.MenuItem;import android.view.SubMenu;import android.widget.Toast;public class MainActivity extends Activity {private static final int SET_ITEM1=Menu.FIRST+2;private static final int SET_ITEM2=Menu.FIRST+3;private static final int SET_ITEM3=Menu.FIRST+4;private static final int SET_ITEM4=Menu.FIRST+5;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}//填充選項菜單(讀取xml檔案,解析,載入到Menu組件上)@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu); //添加子功能表SubMenu sub1=menu.addSubMenu("設定");sub1.add(1,SET_ITEM1,300,"設定聲音");sub1.add(1,SET_ITEM2,400,"設定案頭");SubMenu sub2=menu.addSubMenu("選擇");sub2.add(1,SET_ITEM3,300,"選擇一");sub2.add(1,SET_ITEM4,400,"選擇二");return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item){switch(item.getItemId()){case R.id.start:Toast.makeText(this, "開始遊戲", Toast.LENGTH_SHORT).show();break;case R.id.over:Toast.makeText(this, "結束遊戲", Toast.LENGTH_SHORT).show();break;case SET_ITEM1:Toast.makeText(this,"聲音設定" , Toast.LENGTH_SHORT).show();break;case SET_ITEM2:Toast.makeText(this, "案頭設定", Toast.LENGTH_SHORT).show();break;case SET_ITEM3:Toast.makeText(this, "選擇一", Toast.LENGTH_SHORT).show();break;case SET_ITEM4:Toast.makeText(this, "選擇二", Toast.LENGTH_SHORT).show();break;default:break;}return super.onOptionsItemSelected(item);}}
在res檔案夾下,values檔案下的Strings.xml
<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name">遊戲</string> <string name="start">開始</string> <string name="over">結束</string> <string name="hello_world">你好世界!</string> <string name="contextTitle">操作功能表</string></resources>
android基礎學習 菜單optionMenu