Android菜單詳解(一)——理解android中的Menu

 

理解Android的菜單

菜單是許多應用程序不可或缺的一部分,Android中更是如此,所有搭載Android系統的手機甚至都要有一個"Menu"鍵,由此可見菜單在Android程序中的特殊性。Android SDK提供的菜單有如下幾種:

  1. 選項菜單:最常規的菜單,android中把它叫做option menu
  2. 子菜單:android中點擊子菜單將彈出懸浮窗口顯示子菜單項。子菜單不支持嵌套,即子菜單中不能再包括其他子菜單。
  3. 上下文菜單:android中長按視圖控件後出現的菜單,windows點擊右鍵彈出的菜單即上下文菜單
  4. 圖標菜單:這個比較簡單,就是帶icon的菜單項,需要注意的是子菜單項、上下文菜單項、擴展菜單項均無法顯示圖標
  5. 選擇菜單(alternative menu):用的比較少,以後單獨介紹,本文先跳過(其實是我還沒弄明白啦o(≧v≦)o~~)
  6. 擴展菜單:選項菜單最多隻能顯示6個菜單項,超過6個時,第6個菜單項會被系統替換爲一個叫“更多”的子菜單,原來顯示不下的菜單項都作爲“更多”菜單的子菜單項。如下圖:

        

        第6個菜單項自動變爲“更多”              點擊“更多”顯示其他菜單項

Android3.0又引入了一個叫action bar的東西,本文不做講解,大家自己google。

android.view.Menu接口代表一個菜單,android用它來管理各種菜單項。注意我們一般不自己創建menu,因爲每個Activity默認都自帶了一個,我們要做的是爲它加菜單項和響應菜單項的點擊事件。android.view.MenuItem代表每個菜單項,android.view.SubMenu代表子菜單。其三者的關係可以用下圖來表示

  

上面說過,每個activity包含一個菜單,一個菜單又能包含多個菜單項和多個子菜單,子菜單其實也是菜單(因爲它實現了Menu接口),因此子菜單也可以包含多個菜單項。SubMenu繼承了Menu的addSubMenu()方法,但調用時會拋出運行時錯誤。OnCreateOptionsMenu()和OnOptionsMenuSelected()是activity中提供了兩個回調方法,用於創建菜單項和響應菜單項的點擊。

發佈了32 篇原創文章 · 獲贊 15 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章