Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 第三部分:Android 應用程序接口指南---第二節:UI---第三章 菜單

第三部分:Android 應用程序接口指南---第二節:UI---第三章 菜單

編輯:關於Android編程

第3章 菜單 在許多不同類型的應用中,菜單通常是一種用戶界面組件。為了提供給用戶提供熟悉且一致的體驗,你需要使用菜單API來展示用戶動作和你Activity中的其他選項。   從安卓3.0系統(API level 11)開始,安卓設備已經不再需要提供專用的菜單按鍵。基於這種變化,安卓應用需要遠離原來所依賴的傳統6選項菜單盤,取而代之的是提供一個動作條來顯示普通用戶的動作。雖然設計方案和用戶使用菜單選項的方式已經改變,但是從語義上定義的一套動作和選項仍然是基於菜單API的。這份指導書將介紹在所有版本的安卓系統中如何去創建三個基本類型的菜單和動作:   1. 選項菜單和動作條   選項菜單對於一個應用的菜單項來說是首要的。你放置其中的動作一般是可以影響整個應用的,例如“搜索”、“寫郵件”和“設置”。假如你為2.3或者更低版本的安卓系統開發應用,那麼用戶可以通過點擊菜單按鈕來顯示選項菜單盤。在安卓3.0或者更高的系統中,選項菜單中的選項作為屏幕上動作項和溢出的選項采用動作條顯示。從安卓3.0開始,菜單按鍵是不被贊成的(一些設備一個也沒有),所以你需要改為使用動作條來提供動作和其他選項的入口。   2. 上下文菜單和上下文的操作模式   上下文菜單是一種浮動的菜單,是在當用戶在一個元件上執行長按動作時顯示的。當開發平台為安卓3.0或者更高的時候,你需要使用上下文操作模式來使所選的內容產生動作。這種模式顯示的動作項會影響到在屏幕頂部條上選定的內容,並允許用戶選擇多項。   3. 彈出窗口菜單   彈出窗口菜單顯示一列被錨記為調用菜單列表的列表項。它很好的提供了一個涉及到具體內容或者提供一個命令的第二部分選項的溢出操作。在彈出菜單中的動作不會直接影響到相應的內容,這就是上下文操作所想要的。   3.1 在XML中定義菜單   針對所有的菜單類別,安卓系統都提供了一個標准的XML格式來定義菜單項。你可以在一個XML菜單資源中定義一個菜單和它的所有選項,取代了在activity代碼中建立菜單。你可以接著在你的活動中或者代碼段中擴展菜單資源(載入它作為一個菜單對象)。   使用菜單資源是一個很好的慣例,主要有幾個原因:   ◆它更容易在XML中形象化菜單結構。   ◆它把菜單的內容從你應用的行為代碼中脫離出來。   ◆它允許你創建交替的菜單結構以適應不同平台版本,屏幕大小,和其他利用應用資源框架的結構。   定義一個菜單,需要在你項目的res/menu/目錄下創建一個XML文件以及使用下面這些元件創建菜單:   <menu>   定義一個菜單作為菜單項的容器。<menu>必須作為文件的根結點,這樣才能容納一個或多個<item>和<group>元素。   <item>   創建一個在菜單中表示一個單獨的選項的菜單項。這個元素可能需要包含<menu>網來創建一個子菜單。   <group>   <item>元件中可選且不可見的容器。它允許你去把菜單項歸類,所以它們可以分享特性例如激活狀態和可視狀態。   這裡是一個命名為 game_menu.xml 的菜單實例,如代碼清單3-1所示:     <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android">     <item android:id="@+id/new_game"           android:icon="@drawable/ic_new_game"           android:title="@string/new_game"           android:showAsAction="ifRoom"/>     <item android:id="@+id/help"           android:icon="@drawable/ic_help"           android:title="@string/help" /> </menu>       代碼清單3-1   <item>元件支持多種屬性,你可以用來定義一個項的樣式和行為。菜單上的選項包含了以下屬性:   android:id   菜單項唯一的的ID資源,當用戶選中這個選項時允許應用通過這個ID來識別這個菜單項。   android:icon   索引一個圖片資源作為該項的圖標。   android:title   索引一個字符串作為該項的標題   android:showAsAction   載明該項作為一個行為項什麼時候和怎樣顯示在動作條中。   這些是你需要使用的最重要屬性,但是還有更多可用的屬性。   你可以通過增加一個<menu>元素作為<item>的子項,給任意菜單的項增加子菜單(除了子菜單本身以外)。當你的應用有大量的功能被組織成主題形式,例如電腦應用程序的菜單欄的選項(文件,編輯,查看等等)時子菜單是非常有用的。   如代碼清單3-2所示:     <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android">     <item android:id="@+id/file"           android:title="@string/file" >         <!-- "file" submenu -->         <menu>             <item android:id="@+id/create_new"                   android:title="@string/create_new" />             <item android:id="@+id/open"                   android:title="@string/open" />         </menu>     </item> </menu>      
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved