18、不同平台版本

 支持不同的平台版本

    虽然最新版本的Android通常会为你的app提供丰富的API,但是, 在更多的设备得到系统升级之前,你还是应该让你的app继续支持旧的系统。

     为了提供最好的特性以及跨多个Android版本的功能,在你的app中,你应该使用Android的支持库(Android Support Library),它允许你 使用最近几个Android版本中的API。 

 指定最小支持版本和目标API级别

<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="7" /> 

 在运行时检测版本

private void setUpActionBar() {

     ActionBar APIs

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

                ActionBar actionBar = getActionBar();

                actionBar.setDisplayHomeAsUpEnabled(true);

        }

 自动忽略不支持的属性

        解析xml资源时,Android会忽略掉当前设备不支持的xml的属性。 这样的话,在你的app中,你就可以放心的加入那些只有新系统才会支持 的xml属性,而不用担心旧系统遇到这些代码时会出现错误。举个例子来 说,如果你将app中的targetSdkVersion的值设定为11,它会在 Android 3.0或者更高版本系统中包含ActionBar这个属性。为了将菜单 选项添加到ActionBar中,你需要在菜单的xml中设定 android:showAsAction="ifRoom"。在跨版本的xml文件中,这样的做 法是安全的,原因是老版Android会忽略掉showAsAction属性(也就是 说,在res/menu-v11/目录下不需要一个单独的版本)。 

 使用风格和主题 

让你的activity看起来像一个对话框 

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

让你的activity拥有一个透明的背景 

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

申请你要定制的主题,会在/res/values/styles.xml中定义 

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

原文地址:https://www.cnblogs.com/androidsj/p/3929730.html