Android 版本兼容适配

来源:互联网 发布:淘宝自行车专卖店 编辑:程序博客网 时间:2024/05/19 20:56

高版本的Android SDK为我们提高更加友好的api,我们在使用高版本的SDK的同时,要适配低版本的SDK,因为并非是所有的机型都在最新的Android版本。就目前的开发而言,我们应该至少保证支持4.0及以上的Android设备(Android 4.0以下的设备,现在应该不多了再见)。

方式一:Android Support Library

Google为我们提高了一个非常有用的类库:Android Support Library。有了这个库,我们就可以非常容易的兼容低版本了。如下图所示,Google 已经给我们提供了很多的兼容库,我们应当有效的利用这些库为我们的开发服务:


看没看到design文件夹,该文件夹下的support包为我们提高了多个控件,可以让你的App在低版本上实现部分Material Design效果。

方式二:设置AndroidManifest.xml的minSdkVersion andtargetSdkVersion属性

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />    ...</manifest>

minSdkVersion:声明我们的App兼容的最低版本, 低于minSdkVersion的设备将无法安装我们的App;

targetSdkVersion:目标SDK版本,一般情况下我们可以设置为最新版本的SDK即可;

方式三:确保高版本的Api执行在高版本的Android设备上

Android为我们提供了Build类。通过该类我们可以获取到当前的Android版本,然后可以进行条件判断,满足条件的执行高版本的Api,否则执行低版本的Api,示例如下:

private void setUpActionBar() {    // Make sure we're running on Honeycomb or higher to use ActionBar APIs    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {        ActionBar actionBar = getActionBar();        actionBar.setDisplayHomeAsUpEnabled(true);    }}

注意:Android在解析XML资源的时候,对于不支持的属性,Android会忽略这些属性,不会报错,这是与上述的区别。

方式四:使用Android提供的样式和主题

使用Android内置的样式和主题的好处在于可以保持你的App与最新的Android版本体验一致;

比如一个Dialog风格的Activity:

<activity android:theme="@android:style/Theme.Dialog">

一个透明背景的activity:

<activity android:theme="@android:style/Theme.Translucent">

为activity单独设置主题:

<activity android:theme="@style/CustomTheme">

为整个App应用主题:

<application android:theme="@style/CustomTheme">



0 0