高版本的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应用主题:




更多相关文章

  1. 在Android中用纯Java代码布局
  2. Ubuntu16.04编译Android源码系列二—— android 5.1和android 6.
  3. Android:Material系列:ActionBar-->Toolbar
  4. Android老版本项目导入到新版SDK提示错误
  5. Android调试工具adb的高逼格使用方式
  6. Android(安卓)M及以上版本系统 悬浮窗权限 的解决方案
  7. Android开发之数据存储之二:SQLite数据库存储方式【免费提供源码
  8. android sdk 各个版本的区别
  9. 创建Android依赖库-托管JCenter(全过程完善版)

随机推荐

  1. android 2.2 通讯录
  2. Android Studio学习:简单控件:Button控件的
  3. 水平布局linerlayout
  4. android中任务栈的处理方式
  5. 动态的添加ImageView并居中显示
  6. Android Dialog中的EditText 弹出软键盘
  7. 【原创】Android 设置Dialog的长宽和位置
  8. Android学习(1) -- Android简单历史
  9. android MVC结构小解
  10. android 获取本机号码及应加的权限 代码