如果你曾经尝试用手写笔或轨迹球来导航移动电话的菜单系统,那么,你就会知道在移动设备上使用传统的菜单系统是笨拙的。

为了改进应用程序菜单的实用性,Android为小屏幕提供了三个阶段优化的菜单系统:

图标菜单

Menu按钮按下时,这种紧凑的菜单(如图4-4)显示在屏幕的底部。它显示多达6个图标和文字的菜单项(子菜单)。

4-4

这种图标菜单不把checkboxradio button和快捷键作为菜单项进行显示,所以,一般好的习惯是不指定checkboxradio button作为菜单项,因为它们将无法使用。

如果多于6个菜单项被定义,More菜单项包括在内,当选择时,显示扩展菜单。按下Back按钮关闭图标菜单。

扩展菜单

当用户从图标菜单中选择More菜单项时触发扩展菜单。扩展菜单(如图4-5)显示了一个可滚动的菜单项(那些不能在图标菜单中可见的菜单项)列表。这个菜单中可以显示全文字、快捷键、checkboxradio button

4-5

然后,它不显示图标。所以,你应该避免指定图标给那些有可能只出现在扩展菜单中的菜单项。

按下Back按钮从扩展菜单回到icon菜单。

你不能强迫Android用扩展菜单来替代图标菜单显示。因此,你需要特别注意的是,那些checkboxradio button菜单项只能在扩展菜单中使用或者它们的状态信息改用图标或文本来显示。

子菜单

传统的“扩展层次树”对于用鼠标导航来说是笨拙的,因此,毫不奇怪,这种东西在移动设备上使用尤其的不合适。Android变通的地方是使用一个漂浮的窗口来显示每个子菜单。例如,当用户选择图4-5中标明为Submenu的子菜单时,它的菜单项会显示在一个漂浮的菜单对话框上,如图4-6.

4-6

注意:子菜单的名字显示在头条(Header bar)上,它的子菜单显示为全文本、checkbox(如果需要)和快捷键等。因为Android不支持嵌套的子菜单,所以你不能为子菜单添加子菜单(尝试会导致异常)。

和扩展菜单一样,图标也不显示在子菜单项中,所以,一个好习惯是避免指定图标给子菜单项。

按下Back按钮会关闭漂浮的窗口而不会导航回扩展菜单或图标菜单。

更多相关文章

  1. android 中vector的用法
  2. Android(安卓)解决android4.0系统中菜单(Menu)添加Icon无效问题
  3. 也谈Android下一个apk安装多个程序入口图标
  4. [Android] AlertDialog获取网上天气并显示各城市天气
  5. 仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Androi
  6. 调查显示Android和iOS设备正慢慢侵蚀PC市场
  7. Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原
  8. 日积月累:EditText软键盘的显示和隐藏
  9. 使用adb logcat命令显示Android设备上的Log日志

随机推荐

  1. Android手机开发:ImageView使用和从内存读
  2. Android中Log的输出
  3. Android(安卓)定时服务
  4. android之Fragment-ListFragment的实践(三
  5. android 混淆 proguard
  6. android Toast工具BToast
  7. Android设置界面之Preference
  8. Android UDP广播包抓取
  9. 阅读《Android 从入门到精通》(13)——日期
  10. DecimalFormat 实现保留小数点位数及四舍