Android(安卓)版本兼容适配
高版本的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属性
...
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:
为activity单独设置主题:
为整个App应用主题:
更多相关文章
- 在Android中用纯Java代码布局
- Ubuntu16.04编译Android源码系列二—— android 5.1和android 6.
- Android:Material系列:ActionBar-->Toolbar
- Android老版本项目导入到新版SDK提示错误
- Android调试工具adb的高逼格使用方式
- Android(安卓)M及以上版本系统 悬浮窗权限 的解决方案
- Android开发之数据存储之二:SQLite数据库存储方式【免费提供源码
- android sdk 各个版本的区别
- 创建Android依赖库-托管JCenter(全过程完善版)