适配不同的系统版本

    新的Android版本会为我们的app提供更棒的APIs,但我们的app仍应支持旧版本的Android,直到更多的设备升级到新版本为止。这节课程将展示如何在利用新的APIs的同时仍支持旧版本Android。

    Platform Versions的控制面板会定时更新,通过统计访问Google Play Store的设备数量,来显示运行每个版本的安卓设备的分布。一般情况下,在更新app至最新Android版本时,最好先保证新版的app可以支持90%的设备使用。

    随着新版本Android的发布,一些风格和行为可能会改变,为了能使app能利用这些变化,而且能适配不同风格的用户的设备,我们应该将targetSdkVersion的值尽量的设置与最新可用的Android版本匹配。

    Android在常量类中提供了对每一个版本的唯一代号,在我们的app中使用这些代号可以建立条件,保证依赖于高级别的API的代码,只会在这些API在当前系统中可用时,才会执行。

    1. // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    2. ActionBar actionBar = getActionBar();
    3. }
    4. }

    使activity看起来像对话框:

    使activity有一个透明背景:

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

    应用在/res/values/styles.xml中定义的自定义主题:

      更多关于创建和使用主题,详见Styles and Themes