學(xué)習(xí)理解Android菜單Menu操作
今天看了pro android 3中menu這一章,對(duì)Android的整個(gè)menu體系有了進(jìn)一步的了解,故整理下筆記與大家分享。
PS:強(qiáng)烈推薦《Pro Android 3》,是我至今為止看到的最好的一本android書,中文版出到《精通Android 2》。
理解Android的菜單
菜單是許多應(yīng)用程序不可或缺的一部分,Android中更是如此,所有搭載Android系統(tǒng)的手機(jī)甚至都要有一個(gè)"Menu"鍵,由此可見菜單在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)均無法顯示圖標(biāo)。選擇菜單(alternative menu):用的比較少,以后單獨(dú)介紹,本文先跳過,其實(shí)是我還沒弄明白,
擴(kuò)展菜單:選項(xiàng)菜單最多只能顯示6個(gè)菜單項(xiàng),超過6個(gè)時(shí),第6個(gè)菜單項(xiàng)會(huì)被系統(tǒng)替換為一個(gè)叫“更多”的子菜單,原來顯示不下的菜單項(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用它來管理各種菜單項(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)系可以用下圖來表示

上面說過,每個(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開源組件SlidingMenu側(cè)滑菜單使用介紹
- Android仿微信菜單(Menu)(使用C#和Java分別實(shí)現(xiàn))
- 在Android中創(chuàng)建菜單項(xiàng)Menu以及獲取手機(jī)分辨率的解決方法
- Android開發(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開發(fā)之菜單(menu)用法實(shí)例分析
相關(guān)文章
Android ListView隱藏右側(cè)滾動(dòng)條功能
這篇文章主要介紹了Android ListView隱藏右側(cè)滾動(dòng)條功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03
Android使用TabLayout+Fragment實(shí)現(xiàn)頂部選項(xiàng)卡
本文通過實(shí)例代碼給大家介紹了Android使用TabLayout+Fragment實(shí)現(xiàn)頂部選項(xiàng)卡功能,包括TabLyout的使用,感興趣的朋友參考下本文吧2017-05-05
android開發(fā)教程之開機(jī)啟動(dòng)服務(wù)service示例
如果開機(jī)啟動(dòng)一個(gè)Activity,開機(jī)首先看的界面,是你的程序界面,如果為了,開機(jī)后也啟動(dòng)你的程序,但是不顯示自己程序的界面,就要用Service服務(wù),下面是開機(jī)啟動(dòng)服務(wù)service示例2014-03-03
Android手勢(shì)ImageView三部曲 第一部
這篇文章主要為大家詳細(xì)介紹了Android手勢(shì)ImageView三部曲的第一部,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
Android app應(yīng)用多語言切換功能實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Android app應(yīng)用多語言切換功能實(shí)現(xiàn)代碼,感興趣的小伙伴們可以參考一下2016-08-08
android幾種不同對(duì)話框的實(shí)現(xiàn)方式
這篇文章介紹了android幾種不同對(duì)話框的實(shí)現(xiàn),主要包括:1、顯示提示消息的對(duì)話框.2、簡(jiǎn)單列表項(xiàng)對(duì)話框。3、單選列表項(xiàng)對(duì)話框。4、多選列表對(duì)話框。5、自定義列表項(xiàng)對(duì)話框。6、自定義View的對(duì)話框,需要的朋友可以參考下2015-08-08
Android浮動(dòng)窗口實(shí)現(xiàn)原理及代碼實(shí)例
這篇文章主要介紹了Android浮動(dòng)窗口實(shí)現(xiàn)原理及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07

