當前位置:菜譜大全網 - 菜譜 - 為什麽安卓在系統app的菜單裏?

為什麽安卓在系統app的菜單裏?

菜單是用戶界面中最常見的元素之壹,使用非常頻繁。在Android中,菜單分為以下三種:OptionsMenu、ContextMenu和SubMenu。下面是關於創建OptionsMenu。

壹.概述

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.操作效果