使用Android API Level 15时如何保持向后兼容性?

冰淇淋三明治介绍了很多新的UI设计元素,但市场渗透率仍然只有4%左右.如果想要面向未来的应用程序,并利用Honeycomb / Ice Cream Sandwich引入的一些设计元素,例如动作栏,配色方案等,那么确保您保持一些向后的方式是最好的方法兼容性?

解决方法

虽然我同意@Ollie C,我认为除了使用Actionbar Sherlock图书馆之外,还有其他选择可以添加,而这个我会积极参与ABS社区,并同意它是非常有用的,包含所有UI资产需要.

您可以通过API级别查看UI组件的优雅退化.所以例如:

您可以在values文件夹中创建并设置样式

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.Light.NoTitleBar">
        <!-- Any customizations for your app running on pre-3.0 devices here -->
    </style>
</resources>

然后对于Android 3.0设备,创建值-v11文件夹:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">
        <!-- Any customizations for your app running on 3.0+ devices here -->
    </style>
</resources>

对于4.0设备,创建值-14:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
        <!-- Any customizations for your app running on 4.0+ devices here -->
    </style>
</resources>

REF:http://android-developers.blogspot.co.uk/2012/01/holo-everywhere.html,How to use Holo.Light theme,and fall back to ‘Light’ on pre-honeycomb devices?

还有这个项目:https://github.com/ChristopheVersieux/HoloEverywhere它试图带来全息主题.

最后; Google鼓励开发人员从SDK中添加UI组件来帮助解决向后兼容性问题,而不是直接从Android操作系统引用它们.虽然这不是你的问题,但它确实有助于提供一些一致性.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...