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

來源:互聯網
上載者:User
前言

今天看了pro android 3中menu這一章,對Android的整個menu體系有了進一步的瞭解,故整理下筆記與大家分享。

PS:強烈推薦《Pro Android 3》,是我至今為止看到的最好的一本android書,中文版出到《精通Android 2》。

理解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中提供了兩個回調方法,用於建立功能表項目和響應功能表項目的點擊。

下一篇《Android菜單詳解(二)——建立並響應菜單》將介紹如何使用代碼建立功能表項目,給功能表項目分組,及各種響應菜單事件的方法。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.