標籤:android
Android中建立子功能表的步驟:
1、覆蓋Activity中的onCreateOptionMenu()方法,調用Menu的addSubMenu()方法添加子功能表。
2、調用SubMenu的add方法,添加子功能表。
3、覆蓋onContextItemSelected()方法,響應子功能表。
來看個小例子:
package com.yangzi.submenu;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.MenuItem;import android.view.SubMenu;public class MainActivity extends Activity { //子功能表編號 private static final int ITEM1 = Menu.FIRST; private static final int ITEM2 = Menu.FIRST+1; private static final int ITEM3 = Menu.FIRST+3; private static final int ITEM4 = Menu.FIRST+4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /* * 覆寫onCreateOptionMenu方法,添加菜單,及子功能表 * * */ @Override public boolean onCreateOptionsMenu(Menu menu) { //添加菜單選項 SubMenu file = menu.addSubMenu("檔案"); SubMenu edit = menu.addSubMenu("編輯"); //添加子功能表選項 /* * add方法的參數說明: * 參數一:group ID(int) :組ID,用於標示該子選項屬於哪一個組 * 參數二:item ID(int) :子選項ID,用於標示該子選項 * 參數三:order ID(int): 顯示順序,用於標示該子選項顯示順序,預設為0,表示按添加順序顯示 * 參數四:title (String): 用於定義該子選項的顯示文字 * * */ file.add(0,ITEM1,0,"建立"); file.add(0,ITEM2,0,"開啟"); edit.add(1,ITEM3,0,"複製"); edit.add(1,4,ITEM4,"粘貼"); return true; } /* * 覆寫該方法,添加相應的菜單相應事件 * * */ @Override public boolean onOptionsItemSelected(MenuItem item) { /* * 根據選擇的子選項(通過item ID來區分),進行不同的響應 * * 這裡使用的顏色資源要在res/values檔案夾內的color.xml檔案中聲明 * * */ switch (item.getItemId()) { case ITEM1: setTitle("建立檔案"); break; case ITEM2: setTitle("開啟檔案"); break; case ITEM3: setTitle("複製編輯"); break; case ITEM4: setTitle("粘貼編輯"); default: break; } return true; }}
自己動手試試,看看效果吧!
Android中的子功能表(SubMenu)使用案例