您好,登錄后才能下訂單哦!
創建選項菜單的步驟:
1、覆蓋Activity的onCreateOptionsMenu(Menu menu)函數
2、調用menu的add()方法添加菜單項(MenuItem),調用MenuItem的setIcon()方法為菜單設置圖標
=================我是一條分割線==========================================
public boolean onCreateOptionsMenu (Menu menu)
返回值:布爾值,表示是否顯示該函數中設置的菜單
參數:Menu對象
onCreateOptionsMenu函數僅在第一次使用菜單時被調用一次
在這個函數可以通過Menu對象的add()方法添加菜單子項
重載:
1.
public abstract MenuItem add (CharSequence title)
指定菜單上的顯示文字
這種方式添加的菜單是默認的垂直方式排列
public boolean onCreateOptionsMenu(Menu menu) { menu.add("菜單"); menu.add("菜單2"); return true; }
2.
public abstract MenuItem add (int groupId, int itemId, int order, int titleRes)
groudId:組ID,用以批量地對菜單子項進行處理和排序
itemId:子項ID,是每一個菜單子項的唯一標識
order:指定菜單子項在選項菜單中的排列順序
titlerRes: 菜單標題的引用
3.
public abstract MenuItem add (int titleRes)
titlerRes: 菜單標題的引用,通過string.xml中添加
<string name="titileRes">TitleRes</string>
public boolean onCreateOptionsMenu(Menu menu) { menu.add(R.string.titileRes); return true; }
4.
public abstract MenuItem add (int groupId, int itemId, int order, CharSequence title)
這個是最常用的方法
groudId:組ID,用以批量地對菜單子項進行處理和排序
itemId:子項ID,是每一個菜單子項的唯一標識
order:指定菜單子項在選項菜單中的排列順序
titler: 菜單標題
public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, ITEM, 0, "開始"); menu.add(0, ITME2, 0, "退出"); return true; }
設置圖標
itemAdd.setIcon(R.drawable.p1);
================還是一條分割線====================================
當菜單被選擇時,可以通過覆蓋Activity的onOptionsItemSeleted()方法來響應事件
于是可以醬紫,例子
public class ListTest extends Activity { private static final int click1 = Menu.FIRST; private static final int click2 = Menu.FIRST + 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. super.onCreateOptionsMenu(menu); menu.add(0,click1,0,"戳我"); menu.add(0,click2,0,"還戳我"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case click1: setTitle("被戳了一下!"); break; case click2: setTitle("又被戳了!"); break; } return true; } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。