Android 中菜单(Menu)键和ActionBar
来源:互联网 发布:最新网络广告法 编辑:程序博客网 时间:2024/05/23 01:22
Android 进入 4.0 (ICS)版本之后,虚拟按键渐渐得到了推广。同时,传统的物理菜单键逐渐被淘汰。尤其是对于平板设备,自从 Android 3.0 版本起就不再支持实体菜单键,菜单被收纳至顶部 ActionBar 之中。这一改变事实上引起了不少版本兼容性问题。
从 Android 3.0 (Honeycomb)起,程序不得不同时考虑具备传统菜单键和不具备传统菜单键的设备。这种情况下,可以通过 Action Bar 或者 OverflowButton 实现菜单功能。
在 Android 3.0 以上的设备上运行以 Android 2.3(GingerBread)或更早版本为目标版本(Target Version)的程序时,将会自动添加 LegacyOverflowButton。这是一个显示在应用切换键图标右侧的虚拟按键,功能和物理菜单键相同。如果程序的目标版本高于 Android 2.3,则不会显示该虚拟菜单键。
不过也有一个例外。在同时满足以下条件时,上述的 LegacyOverflowButton 仍然会被显示:系统版本为 Android 4.0 或更新,且设备类型为智能手机而非平板电脑;程序的 minSdkVersion 小于 10(即 Android 2.3 或更早), targetSdkVersion 为 11~13,不使用 ActionBar。
总结来说:
- 目标版本为 Android 3.0 或更新的程序需要通过 ActionBar 提供菜单功能。但是如果具备实体菜单键,也可以调用传统的菜单(OptionMenu)。
- 目标版本为 Android 2.3 或更早的程序通过 legacyOverflowButton 在新版系统上提供菜单功能。
- 目标版本为 Android 3.0~3.2,minSdkVersion 小于 10(即 Android 2.3 或更早),不使用 ActionBar 的程序,在系统版本为 Android 4.0 或更新的智能手机中通过 legacyOverflowButton 在新版系统上提供菜单功能。
- 目标版本为 Android 3.0~3.2,minSdkVersion 小于 10(即 Android 2.3 或更早),不使用 ActionBar 的程序,在系统版本为 Android 3.x 的平板电脑上无法使用菜单功能。
- 目标版本为 Android 4.0 或更新,不使用 ActionBar 的程序,在没有物理菜单键的设备上无法使用菜单功能。
如要要使目标版本为 Android 2.3 或更早的程序也能使用 ActionBar,可以采用以下的方法:
res/values/styles.xml
<resources>
<style name=”AppTheme” parent=”android:Theme.Light” />
</resources>
res/values-v11/styles.xml
<resources>
<style name=”AppTheme” parent=”android:Theme.Holo.Light” />
</resources>
AndroidManifest.xml
<application
android:icon=”@drawable/ic_launcher”
android:label=”@string/app_name”
android:theme=”@style/AppTheme” >
- Android 中菜单(Menu)键和ActionBar
- ActionBar和menu菜单
- actionBar和Toolbar中如何动态隐藏和修改menu上的菜单
- 【Android开发】 物理Menu 呼出 ActionBar中隐藏菜单的实现方式
- Android记录23-关于actionbar中overflow menu(溢出菜单)中的一些问题
- Android记录23-关于actionbar中overflow menu(溢出菜单)中的一些问题
- Android 中右上角菜单创建(Menu)
- android: 在fragment中添加actionbar, menu
- Android菜单(Menu)
- android学习日记:关于ActionBar和Menu
- Android actionbar Menu 和 overflow的自定义
- android Menu与ActionBar和TitleBar浅析
- Android ActionBar与Menu - 2 - email中ActionBar分析
- android ActionBar与Menu - 2 - email中ActionBar分析
- Android之自定义 ActionBar 上的菜单(Menu)文字颜色
- android,actionbar,menu显示,图片,菜单禁用★★★
- 物理Menu 呼出 ActionBar中隐藏菜单的实现方式
- Android 中添加menu菜单
- wince 开机进度条
- lua modue、 require、 package 区别
- android中抗锯齿
- mysql分组查询 排序
- wiki 1040 统计单词个数
- Android 中菜单(Menu)键和ActionBar
- 配置hibernate根据实体类自动建表功能
- 评论设计表
- glassfish的安装与部署ubuntu
- Sticks ---- 深度优先搜索+剪枝优化
- PHP开发者常犯的10个MySQL错误
- POJ 2756 Autumn is a Genius 使用string的大数加减
- LDT自定义启动模拟器
- QTP11不能识别.NET对象的解决方法