學(xué)習(xí)理解Android菜單Menu操作
今天看了pro android 3中menu這一章,對(duì)Android的整個(gè)menu體系有了進(jìn)一步的了解,故整理下筆記與大家分享。
PS:強(qiáng)烈推薦《Pro Android 3》,是我至今為止看到的最好的一本android書(shū),中文版出到《精通Android 2》。
理解Android的菜單
菜單是許多應(yīng)用程序不可或缺的一部分,Android中更是如此,所有搭載Android系統(tǒng)的手機(jī)甚至都要有一個(gè)"Menu"鍵,由此可見(jiàn)菜單在Android程序中的特殊性。Android SDK提供的菜單有如下幾種:
選項(xiàng)菜單:最常規(guī)的菜單,android中把它叫做option menu子菜單:android中點(diǎn)擊子菜單將彈出懸浮窗口顯示子菜單項(xiàng)。子菜單不支持嵌套,即子菜單中不能再包括其他子菜單。上下文菜單:android中長(zhǎng)按視圖控件后出現(xiàn)的菜單,windows點(diǎn)擊右鍵彈出的菜單即上下文菜單圖標(biāo)菜單:這個(gè)比較簡(jiǎn)單,就是帶icon的菜單項(xiàng),需要注意的是子菜單項(xiàng)、上下文菜單項(xiàng)、擴(kuò)展菜單項(xiàng)均無(wú)法顯示圖標(biāo)。選擇菜單(alternative menu):用的比較少,以后單獨(dú)介紹,本文先跳過(guò),其實(shí)是我還沒(méi)弄明白,
擴(kuò)展菜單:選項(xiàng)菜單最多只能顯示6個(gè)菜單項(xiàng),超過(guò)6個(gè)時(shí),第6個(gè)菜單項(xiàng)會(huì)被系統(tǒng)替換為一個(gè)叫“更多”的子菜單,原來(lái)顯示不下的菜單項(xiàng)都作為“更多”菜單的子菜單項(xiàng)。如下圖:
第6個(gè)菜單項(xiàng)自動(dòng)變?yōu)椤案唷薄?/p>
點(diǎn)擊“更多”顯示其他菜單項(xiàng)
Android3.0又引入了一個(gè)叫action bar的東西,本文不做講解,大家自己google。
android.view.Menu接口代表一個(gè)菜單,android用它來(lái)管理各種菜單項(xiàng)。注意我們一般不自己創(chuàng)建menu,因?yàn)槊總€(gè)Activity默認(rèn)都自帶了一個(gè),我們要做的是為它加菜單項(xiàng)和響應(yīng)菜單項(xiàng)的點(diǎn)擊事件。android.view.MenuItem代表每個(gè)菜單項(xiàng),android.view.SubMenu代表子菜單。其三者的關(guān)系可以用下圖來(lái)表示
上面說(shuō)過(guò),每個(gè)activity包含一個(gè)菜單,一個(gè)菜單又能包含多個(gè)菜單項(xiàng)和多個(gè)子菜單,子菜單其實(shí)也是菜單(因?yàn)樗鼘?shí)現(xiàn)了Menu接口),因此子菜單也可以包含多個(gè)菜單項(xiàng)。SubMenu繼承了Menu的addSubMenu()方法,但調(diào)用時(shí)會(huì)拋出運(yùn)行時(shí)錯(cuò)誤。OnCreateOptionsMenu()和OnOptionsMenuSelected()是activity中提供了兩個(gè)回調(diào)方法,用于創(chuàng)建菜單項(xiàng)和響應(yīng)菜單項(xiàng)的點(diǎn)擊。
下一篇《Android菜單操作之創(chuàng)建并響應(yīng)菜單》將介紹如何使用代碼創(chuàng)建菜單項(xiàng),給菜單項(xiàng)分組,及各種響應(yīng)菜單事件的方法。
- Android動(dòng)態(tài)添加menu菜單的簡(jiǎn)單方法
- 用Android MenuInflater創(chuàng)建菜單項(xiàng)的方法步驟
- Android創(chuàng)建Menu菜單實(shí)例
- 詳解Android中的Menu菜單鍵
- Android開(kāi)源組件SlidingMenu側(cè)滑菜單使用介紹
- Android仿微信菜單(Menu)(使用C#和Java分別實(shí)現(xiàn))
- 在Android中創(chuàng)建菜單項(xiàng)Menu以及獲取手機(jī)分辨率的解決方法
- Android開(kāi)發(fā)之menu菜單
- Android使用onCreateOptionsMenu()創(chuàng)建菜單Menu的方法詳解
- Android UI實(shí)現(xiàn)SlidingMenu側(cè)滑菜單效果
- Android動(dòng)態(tài)修改ToolBar的Menu菜單示例
- Android學(xué)習(xí)教程之圓形Menu菜單制作方法(1)
- Android開(kāi)發(fā)之菜單(menu)用法實(shí)例分析
相關(guān)文章
Android NDK中socket的用法以及注意事項(xiàng)分析
本篇文章是對(duì)Android NDK中socket的用法以及注意事項(xiàng)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06Android編程動(dòng)態(tài)按鈕實(shí)現(xiàn)方法
這篇文章主要介紹了Android編程動(dòng)態(tài)按鈕實(shí)現(xiàn)方法,分享了onTouch方法及xml調(diào)用兩種實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-10-10解決Android Studio 代碼自動(dòng)提示突然失效的問(wèn)題
這篇文章主要介紹了解決Android Studio 代碼自動(dòng)提示突然失效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Android徹底清除APP數(shù)據(jù)的兩種方案總結(jié)
大家在用Android手機(jī)的時(shí)候肯定都遇到過(guò)內(nèi)存剩余空間越來(lái)越小的情況,所以下面這篇文章主要給大家介紹了關(guān)于Android徹底清除APP數(shù)據(jù)的兩種方案,需要的朋友可以參考下2021-11-11Android TableLayout數(shù)據(jù)列表的回顯清空實(shí)現(xiàn)思路及代碼
數(shù)據(jù)列表的回顯必須從后面減去子元素同時(shí)必須從后面減去子元素,感興趣的朋友可以看下具體的實(shí)現(xiàn)代碼,希望對(duì)你學(xué)習(xí)Android TableLayout有所幫助2013-04-04Android性能優(yōu)化之圖片大小,尺寸壓縮綜合解決方案
隨著Android手機(jī)的越來(lái)越先進(jìn),給我們開(kāi)發(fā)者而言傳遞的圖片也是越來(lái)越大,這個(gè)時(shí)候我們可以對(duì)一些沒(méi)有必要原圖展示的圖片進(jìn)行壓縮,這篇文章主要給大家介紹了關(guān)于Android性能優(yōu)化之圖片大小,尺寸壓縮的綜合解決方案,需要的朋友可以參考下2022-04-04Android開(kāi)發(fā)中include控件用法分析
這篇文章主要介紹了Android開(kāi)發(fā)中include控件用法,結(jié)合實(shí)例形式分析了Android界面布局中include控件的使用技巧,需要的朋友可以參考下2016-10-10Android?實(shí)現(xiàn)單指滑動(dòng)雙指縮放照片demo及過(guò)程解析
這篇文章主要為大家介紹了Android?實(shí)現(xiàn)單指滑動(dòng)雙指縮放照片demo及過(guò)程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04