如果你曾經嘗試用手寫筆或軌跡球來導航行動電話的菜單系統,那麼,你就會知道在行動裝置上使用傳統的菜單系統是笨拙的。
為了改進應用程式菜單的實用性,Android為小螢幕提供了三個階段最佳化的菜單系統:
❑ 表徵圖菜單
當Menu按鈕按下時,這種緊湊的菜單(4-4)顯示在螢幕的底部。它顯示多達6個表徵圖和文字的功能表項目(子功能表)。
圖4-4
這種表徵圖菜單不把checkbox,radio button和快速鍵作為功能表項目進行顯示,所以,一般好的習慣是不指定checkbox或radio button作為功能表項目,因為它們將無法使用。
如果多於6個功能表項目被定義,More功能表項目包括在內,當選擇時,顯示擴充菜單。按下Back按鈕關閉表徵圖菜單。
❑ 擴充菜單
當使用者從表徵圖菜單中選擇More功能表項目時觸發擴充菜單。擴充菜單(4-5)顯示了一個可滾動的功能表項目(那些不能在表徵圖菜單中可見的功能表項目)列表。這個菜單中可以顯示全文字、快速鍵、checkbox和radio button。
圖4-5
然後,它不顯示表徵圖。所以,你應該避免指定表徵圖給那些有可能只出現在擴充菜單中的功能表項目。
按下Back按鈕從擴充菜單回到icon菜單。
你不能強迫Android用擴充菜單來替代表徵圖菜單顯示。因此,你需要特別注意的是,那些checkbox或radio button功能表項目只能在擴充菜單中使用或者它們的狀態資訊改用表徵圖或文本來顯示。
❑ 子功能表
傳統的“擴充層次樹”對於用滑鼠導航來說是笨拙的,因此,毫不奇怪,這種東西在行動裝置上使用尤其的不合適。Android變通的地方是使用一個漂浮的視窗來顯示每個子功能表。例如,當使用者選擇圖4-5中標明為Submenu的子功能表時,它的功能表項目會顯示在一個漂浮的菜單對話方塊上,4-6.
圖4-6
注意:子功能表的名字顯示在頭條(Header bar)上,它的子功能表顯示為全文本、checkbox(如果需要)和快速鍵等。因為Android不支援嵌套的子功能表,所以你不能為子功能表添加子功能表(嘗試會導致異常)。
和擴充菜單一樣,表徵圖也不顯示在子功能表項中,所以,一個好習慣是避免指定表徵圖給子功能表項。
按下Back按鈕會關閉漂浮的視窗而不會導航回擴充菜單或表徵圖菜單。