Supporting Different Platform Versions(如何支持不同版本的安卓平台)

        当最新发布的android平台为你的应用提供非常棒的api的同时,你也应该确保你的应用能够在那些依然使用着旧版本的android设备上正常运行,直到这些用户更换新手机为止。这节课,我们将教你如何将最新的api使用到旧版本上。
       根据设备访问谷歌商店的统计表格的定期更新上可以看到,每个设备运行的版本以及它们的分布。一般来说一个优秀的app需要支持将近90%的安卓设备。
       提示:为了能够在各个版本的android设备上提供可靠的性能,开发者必须在其自己的app中添加 Android Support Library。

1、Specify Minimum and Target API Levels(指定最小以及目标api等级)     

     在AndroidManifest.xml文件中具体描述了开发者的app的支持版本

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

2、Check System Version at Runtime(在运行时检查系统版本)   

    android在编译class时会为每个版本的平台提供一个独一无二的代码,使用这些代码可以确保高等级的api只能运行在高等级的版本中。
privatevoid 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资源的时候会忽略xml属性是否能够被当前设备版本所支持。因此你可以放心的使用这些只在最新的版本中才支持的xml属性而不必担心其会出错。例如,你设置了targetSdkVersion=‘11’,你的app包含了ActionBar这类默认在android 3.0或更高版本。你只需要设置android:showAsAction="ifRoom" 在你的xml中,旧版本的android平台会自动忽略showAsAction,而不必将xml分割成各个版本类似于 res/menu-v11/

3、 Use Platform Styles and Themes(使用平台自带的样式和主题)
   
     android提供了可以用户自己定制的主题。这类主题需要在清单文件中添加。
     让你的activity看起来像一个对话框。
<activityandroid:theme="@android:style/Theme.Dialog">
      确保你的activity有个透明的背景。
<activityandroid:theme="@android:style/Theme.Translucent">
    将你的自定义theme定义在   /res/values/styles.xml :
<activityandroid:theme="@style/CustomTheme">
    将你的自定义theme应用到整个app,添加 android:theme
<applicationandroid:theme="@style/CustomTheme">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值