壹.概述
Public boolean once creation menu(菜單菜單):使用此方法調用OptionsMenu。
public boolean onoptionsitemselected(menuitem item):選擇菜單項時發生的操作。
public void on options menused(menu menu):菜單關閉後發生的操作。
public Boolean onPrepareOptionsMenu(menu menu):在顯示選項菜單之前將調用onprepareoptions menu方法。妳可以根據當時的情況用這種方法調整菜單。
public Boolean on menu open ed(int feature id,menu menu):菜單打開後發生的動作。
第二,默認風格
默認風格是在屏幕底部彈出壹個菜單,我們稱之為OptionsMenu。通常,選項菜單最多顯示2行,每行顯示3個菜單項。這些菜單項有文本和圖標,也稱為圖標菜單。如果超過6項,它們將從第六項中隱藏,第六項中會出現壹個More。單擊“更多”以查看第六項和後續菜單項,這些菜單項也稱為擴展菜單。下面介紹壹下。
1.main.xml
& lt?xml?version="1.0 "?編碼="utf-8 "?& gt
& ltLinearLayout?xmlns:android= "
android:orientation="vertical "?Android:layout _ width = " fill _ parent "
Android:layout _ height = " fill _ parent "?& gt
& ltTextView?Android:layout _ width = " wrap _ content "
Android:layout _ height = " wrap _ content "?Android:text= "請點擊?菜單鍵顯示選項菜單”
android:id="@+id/TextView02 "?/& gt;
& lt/linear layout & gt;
2。重載onCreateOptionsMenu(菜單Menu)方法。
重載onCreateOptionsMenu(菜單Menu)方法,給這個方法添加壹個菜單項,最後返回true,如果為false,則不顯示菜單。
公共?布爾?onCreateOptionsMenu(菜單?菜單)
@覆蓋
公共?布爾?onCreateOptionsMenu(菜單?菜單)?{
/*
*?
*?add()方法的四個參數是:
*?
*?1,組,如果不是組,寫菜單。沒有,
*?
*?2,id,這個很重要,Android根據這個Id確定不同的菜單。
*?
*?3.秩序。那個菜單現在由前面這個參數的大小決定。
*?
*?4、文本,菜單顯示文本
*/
menu.add(菜單。沒有嗎?菜單。首先?+?1,?5,?“刪除”)。setIcon(
安卓。r . draw able . IC _ menu _ delete);
//?setIcon()方法為菜單設置圖標,這裏使用的是系統自帶的圖標。請註意。
//?從android開始的資源。r是系統提供的,我們自己提供的資源是從r開始的。
menu.add(菜單。沒有嗎?菜單。首先?+?2,?2,?“保存”)。setIcon(
安卓。r . draw able . IC _ menu _ edit);
menu.add(菜單。沒有嗎?菜單。首先?+?3,?6,?“救命”)。setIcon(
安卓。r . draw able . IC _ menu _ help);
menu.add(菜單。沒有嗎?菜單。首先?+?4,?1,?“添加”)。setIcon(
安卓。r . draw able . IC _ menu _ add);
menu.add(菜單。沒有嗎?菜單。首先?+?5,?4,?“詳情”)。setIcon(
安卓。r . draw able . IC _ menu _ info _ details);
menu.add(菜單。沒有嗎?菜單。首先?+?6,?3,?“發送”)。setIcon(
安卓。r . draw able . IC _ menu _ send);
回歸?真實;
}
3。為菜單項註冊事件
使用onoptionsiteselected(menuitem item)方法為菜單項註冊事件。
公共?布爾?onOptionsItemSelected(MenuItem?項目)
@覆蓋
公共?布爾?onOptionsItemSelected(MenuItem?項)?{
切換?(item.getItemId())?{
案子?菜單。首先?+?1:
Toast.makeText(這個,?“刪除菜單被點擊”?吐司。長度_長)。show();
打破;
案子?菜單。首先?+?2:
Toast.makeText(這個,?“點擊保存菜單”?吐司。長度_長)。show();
打破;
案子?菜單。首先?+?3:
Toast.makeText(這個,?“點擊了幫助菜單”?吐司。長度_長)。show();
打破;
案子?菜單。首先?+?4:
Toast.makeText(這個,?“添加菜單已點擊”?吐司。長度_長)。show();
打破;
案子?菜單。首先?+?5:
Toast.makeText(這個,?“詳細菜單已點擊”?吐司。長度_長)。show();
打破;
案子?菜單。首先?+?6:
Toast.makeText(這個,?“發送菜單已點擊”?吐司。長度_長)。show();
打破;
}
回歸?假的;
}
4.完全碼
包裹?com . Android . menu;
進口?Android . app . activity;
進口?Android . OS . bundle;
進口?Android . view . menu;
進口?Android . view . menuitem;
進口?Android . widget . toast;
公共?班級?默認菜單?延伸?活動?{
/**?叫什麽?什麽時候?那個?活動?是嗎?首先?已創建。?*/
@覆蓋
公共?作廢?onCreate(捆綁?savedInstanceState)?{
super . oncreate(savedInstanceState);
setContentView(r . layout . main);
}
@覆蓋
公共?布爾?onCreateOptionsMenu(菜單?菜單)?{
/*
*?
*?add()方法的四個參數是:
*?
*?1,組,如果不是組,寫菜單。沒有,
*?
*?2,id,這個很重要,Android根據這個Id確定不同的菜單。
*?
*?3.秩序。那個菜單現在由前面這個參數的大小決定。
*?
*?4、文本,菜單顯示文本
*/
menu.add(菜單。沒有嗎?菜單。首先?+?1,?5,?“刪除”)。setIcon(
安卓。r . draw able . IC _ menu _ delete);
//?setIcon()方法為菜單設置圖標,這裏使用的是系統自帶的圖標。請註意。
//?從android開始的資源。r是系統提供的,我們自己提供的資源是從r開始的。
menu.add(菜單。沒有嗎?菜單。首先?+?2,?2,?“保存”)。setIcon(
安卓。r . draw able . IC _ menu _ edit);
menu.add(菜單。沒有嗎?菜單。首先?+?3,?6,?“救命”)。setIcon(
安卓。r . draw able . IC _ menu _ help);
menu.add(菜單。沒有嗎?菜單。首先?+?4,?1,?“添加”)。setIcon(
安卓。r . draw able . IC _ menu _ add);
menu.add(菜單。沒有嗎?菜單。首先?+?5,?4,?“詳情”)。setIcon(
安卓。r . draw able . IC _ menu _ info _ details);
menu.add(菜單。沒有嗎?菜單。首先?+?6,?3,?“發送”)。setIcon(
安卓。r . draw able . IC _ menu _ send);
回歸?真實;
}
@覆蓋
公共?布爾?onOptionsItemSelected(MenuItem?項)?{
切換?(item.getItemId())?{
案子?菜單。首先?+?1:
Toast.makeText(這個,?“刪除菜單被點擊”?吐司。長度_長)。show();
打破;
案子?菜單。首先?+?2:
Toast.makeText(這個,?“點擊保存菜單”?吐司。長度_長)。show();
打破;
案子?菜單。首先?+?3:
Toast.makeText(這個,?“點擊了幫助菜單”?吐司。長度_長)。show();
打破;
案子?菜單。首先?+?4:
Toast.makeText(這個,?“添加菜單已點擊”?吐司。長度_長)。show();
打破;
案子?菜單。首先?+?5:
Toast.makeText(這個,?“詳細菜單已點擊”?吐司。長度_長)。show();
打破;
案子?菜單。首先?+?6:
Toast.makeText(這個,?“發送菜單已點擊”?吐司。長度_長)。show();
打破;
}
回歸?假的;
}
@覆蓋
公共?作廢?onOptionsMenuClosed(菜單?菜單)?{
Toast.makeText(這個,?“選項菜單關閉”?吐司。長度_長)。show();
}
@覆蓋
公共?布爾?onPrepareOptionsMenu(菜單?菜單)?{
Toast.makeText(這個,
在顯示選項菜單之前,將調用onPrepareOptionsMenu方法。妳可以根據當時的情況用這種方法調整菜單”,
吐司。長度_長)。show();
//?如果返回false,該方法將消耗用戶單擊菜單的操作,並且不會調用onCreateOptionsMenu方法。
回歸?真實;
}
}
5.操作效果