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">
- Android 版本兼容适配
- Android-- UI 布局,屏幕分辨率兼容和版本兼容,屏幕适配解决方案
- android 版本兼容 @TargetApi
- Android 版本兼容
- Android版本兼容
- android的版本兼容
- Android多版本兼容示例
- Android多版本兼容示例
- [Skill]Android版本兼容器
- android兼容低版本Fragment
- Android Fragment兼容低版本
- Android兼容不同的设备之适配不同的系统版本
- android studio更改兼容android低版本
- android版本兼容,高版本低版本兼容性
- android 兼容包(可兼容低版本系统)
- android 兼容包(可兼容低版本系统)
- Android多版本兼容一(FrameLayout布局兼容)
- [Android]高低API版本兼容之@TargetApi
- 自建网页项目-蚁族财富网-记录11
- 将一个数组的1至26的数转换成对应的小写字母a-z,其他的数用"?"表示
- 联合体结构体类型大小判断
- MySQL学习错误总结篇:遇到并处理过的错误-持续更新
- PCL点云库:ICP算法
- Android 版本兼容适配
- devDependencies和dependencies的区别
- 大数据Spark “蘑菇云”行动第79课:Spark GraphX 代码实战及源码剖析
- Android系统典型bootloader分析
- BZOJ 3343: 教主的魔法
- 网络基础知识 ping & ipconfig
- ConcurrentModificationException异常分析
- ios 蓝牙控制
- linux下安装软件的常用方法