Android中選項(xiàng)菜單(OptionMenu)的創(chuàng)建方法
使用OptionMenu
只要重寫(xiě)兩個(gè)方法
public boolean onCreateOptionsMenu(Menu menu):菜單的初始化
public boolean onOptionsItemSelected(MenuItem item):菜單響應(yīng)事件
除此之外,還有三個(gè)方法可以重寫(xiě)
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)菜單打開(kāi)后調(diào)用
菜單的加載方式
編寫(xiě)菜單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)的代碼中來(lái)裝載這個(gè)定義的菜單XML布局文件,并處理響應(yīng)事件:
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public 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)
通過(guò)代碼動(dòng)態(tài)添加,onCreateOptionsMenu的參數(shù)menu,調(diào)用add方法添加菜單,add(菜單項(xiàng)的組號(hào),ID,排序號(hào),標(biāo)題),另外如果排序號(hào)是按添加順序排序的話都填0即可
@Override public 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ì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Android統(tǒng)一依賴管理的三種方式總結(jié)
為了項(xiàng)目的管理,依賴包的紡一管理是必要的,下面這篇文章主要給大家介紹了關(guān)于Android統(tǒng)一依賴管理的三種方式,文中通過(guò)實(shí)例代碼和圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01解決AMD無(wú)法使用Android studio問(wèn)題
這篇文章主要介紹了AMD無(wú)法使用Android studio解決方法,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03TextView顯示系統(tǒng)時(shí)間(時(shí)鐘功能帶秒針變化
用System.currentTimeMillis()可以獲取系統(tǒng)當(dāng)前的時(shí)間,我們可以開(kāi)啟一個(gè)線程,然后通過(guò)handler發(fā)消息,來(lái)實(shí)時(shí)的更新TextView上顯示的系統(tǒng)時(shí)間,可以做一個(gè)時(shí)鐘的功能2013-11-11Android?Flutter控件封裝之視頻進(jìn)度條的實(shí)現(xiàn)
這篇文章主要來(lái)和大家分享一個(gè)很簡(jiǎn)單的控制器封裝案例,包含了基本的播放暫停,全屏和退出全屏,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-06-06使用adb?or?fastboot命令進(jìn)入高通的9008(edl)模式的兩種方法
這篇文章主要介紹了使用adb?or?fastboot命令進(jìn)入高通的9008(edl)模式,兩種方式通過(guò)命令給大家寫(xiě)的非常詳細(xì),文中又給大家補(bǔ)充介紹了高通手機(jī)?進(jìn)入?高通9008模式的兩種方法,需要的朋友可以參考下2023-01-01Android仿簡(jiǎn)書(shū)長(zhǎng)按文章生成圖片效果
使用簡(jiǎn)書(shū)APP的同學(xué)都知道,簡(jiǎn)書(shū)有這樣一個(gè)功能;文章頁(yè)長(zhǎng)按內(nèi)容時(shí)底部會(huì)出現(xiàn)一個(gè) 生成圖片分享 的按鈕,點(diǎn)擊之后就可以將當(dāng)前的文章生成一張長(zhǎng)圖片;這張圖片可以保存到本地或分享給好友,同時(shí)還可為圖片設(shè)置成為白和黑兩種風(fēng)格,很有藝術(shù)范2017-03-03Android中自定義ContentProvider實(shí)例
應(yīng)用A(TestBaidu)調(diào)用另外一個(gè)應(yīng)用(TestContentProvider)中的自定義ContentProvider,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈2013-06-06android開(kāi)發(fā)去除標(biāo)題欄的方法
這篇文章主要介紹了android開(kāi)發(fā)去除標(biāo)題欄的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04Android實(shí)現(xiàn)iPhone晃動(dòng)撤銷輸入功能 Android仿微信搖一搖功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)iPhone晃動(dòng)撤銷輸入功能,Android仿微信搖一搖功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07