android的选项菜单,Android界面菜单(2)—选项菜单
選項菜單
Android 4.0 系統中,Activity在創建時便會調用 onCreateOptionMenu() 函數初始化自身的菜單系統。在Activity的整個生命周期中,選項菜單是一直被重復利用的,直到 Activity被銷毀。
Android程序的菜單可以在代碼中動態生成,也可以使用XML文件制作菜單資源,然后通過 inflate() 函數映射到程序代碼中。
1.使用 /res/menu/main.xml 初始化 Activity 的菜單
(1)/res/menu/main.xml
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.jhincheung.satomi.MainActivity" >
android:id = "@+id/main_menu_1"
android:icon = "@drawable/pic_01"
android:title = "File"/>
android:id = "@+id/main_menu_2"
android:icon = "@drawable/pic_02"
android:title = "Edit"/>
android:id = "@+id/main_menu_3"
android:icon = "@drawable/pic_03"
android:title = "Source"/>
說明:使用XML文件描述菜單
(2)MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
說明:onCreateOptionMenu() 初始化菜單
@Override
public boolean onOptionsItemSelected(MenuItem item) {
TextView label = (TextView)findViewById(R.id.textView_1);
switch(item.getItemId()){
case R.id.main_menu_1:
label.setText("File-ID:"+item.getItemId());
return true;
case R.id.main_menu_2:
label.setText("Edit-ID:"+item.getItemId());
return true;
case R.id.main_menu_3:
label.setText("Source-ID:"+item.getItemId());
return true;
default:return false;
}
}
說明:
onOptionsItemSelected() 一般用于放置菜單選擇事件的響應代碼
通過 getItemId() 獲得 MenuItem 的ID
onOptionsItemSelected() 的返回值表示是否需求其他事件處理函數菜單選擇事件進行處理,不需要選擇 true,否則選擇 false
示例程序:
2.代碼中動態生成菜單
MainActivity.java
final static int MENU_01 = Menu.FIRST;
final static int MENU_02 = Menu.FIRST+1;
final static int MENU_03 = Menu.FIRST+2;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//getMenuInflater().inflate(R.menu.main, menu);
menu.add(0,MENU_01,0,"添加好友").setIcon(R.drawable.pic_01);
menu.add(0,MENU_02,0,"掃一掃").setIcon(R.drawable.pic_02);
menu.add(0,MENU_03,0,"付款").setIcon(R.drawable.pic_03);
return true;
}
說明:
一般將 ID 定義為靜態變量,并使用 Menu.FIRST 定義第一個菜單子項
之后的菜單項僅需在 Menu.FIRST 增加相應的數值即可
onCreateOptionMenu() 返回值為 true 則可顯示在函數中設置的菜單
menu.add() 第 1?個參數?groupID?是組ID,用以批量的對菜單子項進行處理和排序
menu.add() 第 2個參數 itemID 是子項ID,是每一個菜單子項的唯一標識
menu.add() 第 3 個參數 order 是定義菜單子項在菜單中的排列順序
menu.add()?第 4 個參數 title 是菜單子項所顯示的標題
setIcon() 函數可以為菜單子項添加圖標
示例程序
總結
以上是生活随笔為你收集整理的android的选项菜单,Android界面菜单(2)—选项菜单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android ndk x86 arm,
- 下一篇: android 怎么换行,android