使用OptionMenu
只要重寫兩個(gè)方法
public boolean onCreateOptionsMenu(Menu menu):菜單的初始化
public boolean onOptionsItemSelected(MenuItem item):菜單響應(yīng)事件
除此之外,還有三個(gè)方法可以重寫
public void onOptionsMenuClosed(Menu menu):菜單關(guān)閉時(shí)調(diào)用
public boolean onPrepareOptionsMenu(Menu menu):選項(xiàng)菜單顯示前調(diào)用, 可在這里進(jìn)行菜單的調(diào)整(動(dòng)態(tài)加載菜單列表)
public boolean onMenuOpened(int featureId, Menu menu):選項(xiàng)菜單打開后調(diào)用
菜單的加載方式
編寫菜單XML文件
首先在項(xiàng)目目錄res文件夾中建立Menu文件夾,然后再其中創(chuàng)建需要的菜單,代碼如下:
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/add_item" android:title="Add" /> <item android:id="@+id/remove_item" android:title="Remove" /></menu>
下面我們就在對(duì)應(yīng)的代碼中來裝載這個(gè)定義的菜單XML布局文件,并處理響應(yīng)事件:
@Overridepublic boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.add_item: Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show(); break; case R.id.remove_item: Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show(); break; default: } return true;}add方法實(shí)現(xiàn)
通過代碼動(dòng)態(tài)添加,onCreateOptionsMenu的參數(shù)menu,調(diào)用add方法添加菜單,add(菜單項(xiàng)的組號(hào),ID,排序號(hào),標(biāo)題),另外如果排序號(hào)是按添加順序排序的話都填0即可
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present. menu.add(1,RED,1,"紅色"); menu.add(1,GREEN,2,"綠色"); menu.add(1,BLUE,3,"藍(lán)色"); return true;}以上所述是小編給大家介紹的Android中選項(xiàng)菜單(OptionMenu)的創(chuàng)建方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選