支持不同的平台版本

大部分时候我们需要支持不同的Android平台版本,但是某些特性在低版本的系统上不存在,那么我们就需求根据当前的版本做动态处理,一般来说,我们可以引入支持包来实现我们的功能。


    
    ...

在上面的例子中,minSdkVersion表示当前应用最低能安装到的系统版本,targetSdkVersion表示软件开发和调试的最适合版本,假设minSdkVersion=4,targetSdkVersion=22。那么我们不能安装到系统版本为3的系统上,如果安装的系统是[4,21)时,那么说明系统不能很好或者很完全地展示我们的软件特性,但是我们也需要使用支持包实现对应的功能,(支持包能够针对特定版本调用不同的api)。如果系统是22,那么软件运行最优,如果系统是23,那么我们软件也不会应用23的新特性。

虽然大部分时候我们使用支持包可以实现不同版本的兼容性,但是我们有时候也需要自己判断当前版本。

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);
    }
}

上面的例子中,Build.VERSION.SDK_INT 表示,系统的sdk版本。

不同的是,我们在编辑xml属性时,不需要进行版本判断,因为较旧的系统会忽视那些新的xml属性。

我们可以通过设置主题theme来让App跟随系统版本而有不同的展示。

To make your activity look like a dialog box:

To make your activity have a transparent background:

To apply your own custom theme defined in /res/values/styles.xml
:

To apply a theme to your entire app (all activities), add the android:theme
 attribute to the [
](https://developer.android.google.cn/guide/topics/manifest/application-element.html) element:

你可能感兴趣的:(支持不同的平台版本)