學(xué)習(xí)理解Android菜單Menu操作
今天看了pro android 3中menu這一章,對Android的整個menu體系有了進(jìn)一步的了解,故整理下筆記與大家分享。
PS:強(qiáng)烈推薦《Pro Android 3》,是我至今為止看到的最好的一本android書,中文版出到《精通Android 2》。
理解Android的菜單
菜單是許多應(yīng)用程序不可或缺的一部分,Android中更是如此,所有搭載Android系統(tǒng)的手機(jī)甚至都要有一個"Menu"鍵,由此可見菜單在Android程序中的特殊性。Android SDK提供的菜單有如下幾種:
選項(xiàng)菜單:最常規(guī)的菜單,android中把它叫做option menu子菜單:android中點(diǎn)擊子菜單將彈出懸浮窗口顯示子菜單項(xiàng)。子菜單不支持嵌套,即子菜單中不能再包括其他子菜單。上下文菜單:android中長按視圖控件后出現(xiàn)的菜單,windows點(diǎn)擊右鍵彈出的菜單即上下文菜單圖標(biāo)菜單:這個比較簡單,就是帶icon的菜單項(xiàng),需要注意的是子菜單項(xiàng)、上下文菜單項(xiàng)、擴(kuò)展菜單項(xiàng)均無法顯示圖標(biāo)。選擇菜單(alternative menu):用的比較少,以后單獨(dú)介紹,本文先跳過,其實(shí)是我還沒弄明白,
擴(kuò)展菜單:選項(xiàng)菜單最多只能顯示6個菜單項(xiàng),超過6個時,第6個菜單項(xiàng)會被系統(tǒng)替換為一個叫“更多”的子菜單,原來顯示不下的菜單項(xiàng)都作為“更多”菜單的子菜單項(xiàng)。如下圖:
第6個菜單項(xiàng)自動變?yōu)椤案唷薄?/p>
點(diǎn)擊“更多”顯示其他菜單項(xiàng)
Android3.0又引入了一個叫action bar的東西,本文不做講解,大家自己google。
android.view.Menu接口代表一個菜單,android用它來管理各種菜單項(xiàng)。注意我們一般不自己創(chuàng)建menu,因?yàn)槊總€Activity默認(rèn)都自帶了一個,我們要做的是為它加菜單項(xiàng)和響應(yīng)菜單項(xiàng)的點(diǎn)擊事件。android.view.MenuItem代表每個菜單項(xiàng),android.view.SubMenu代表子菜單。其三者的關(guān)系可以用下圖來表示

上面說過,每個activity包含一個菜單,一個菜單又能包含多個菜單項(xiàng)和多個子菜單,子菜單其實(shí)也是菜單(因?yàn)樗鼘?shí)現(xiàn)了Menu接口),因此子菜單也可以包含多個菜單項(xiàng)。SubMenu繼承了Menu的addSubMenu()方法,但調(diào)用時會拋出運(yùn)行時錯誤。OnCreateOptionsMenu()和OnOptionsMenuSelected()是activity中提供了兩個回調(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動態(tài)添加menu菜單的簡單方法
- 用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動態(tài)修改ToolBar的Menu菜單示例
- Android學(xué)習(xí)教程之圓形Menu菜單制作方法(1)
- Android開發(fā)之菜單(menu)用法實(shí)例分析
相關(guān)文章
Android使用TabLayout+Fragment實(shí)現(xiàn)頂部選項(xiàng)卡
本文通過實(shí)例代碼給大家介紹了Android使用TabLayout+Fragment實(shí)現(xiàn)頂部選項(xiàng)卡功能,包括TabLyout的使用,感興趣的朋友參考下本文吧2017-05-05
android開發(fā)教程之開機(jī)啟動服務(wù)service示例
如果開機(jī)啟動一個Activity,開機(jī)首先看的界面,是你的程序界面,如果為了,開機(jī)后也啟動你的程序,但是不顯示自己程序的界面,就要用Service服務(wù),下面是開機(jī)啟動服務(wù)service示例2014-03-03
Android app應(yīng)用多語言切換功能實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Android app應(yīng)用多語言切換功能實(shí)現(xiàn)代碼,感興趣的小伙伴們可以參考一下2016-08-08
android幾種不同對話框的實(shí)現(xiàn)方式
這篇文章介紹了android幾種不同對話框的實(shí)現(xiàn),主要包括:1、顯示提示消息的對話框.2、簡單列表項(xiàng)對話框。3、單選列表項(xiàng)對話框。4、多選列表對話框。5、自定義列表項(xiàng)對話框。6、自定義View的對話框,需要的朋友可以參考下2015-08-08
Android浮動窗口實(shí)現(xiàn)原理及代碼實(shí)例
這篇文章主要介紹了Android浮動窗口實(shí)現(xiàn)原理及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07

