• VectorDrawable
  • 如何兼容到 API Level 21 以下

VectorDrawable

在 Android 5.0(API Level 21)中,Android 开始支持矢量图 VectorDrawable, VectorDrawable 的特点就是它不会因为图像的缩放而失真。这样在 Android 开发过程中你不需要为不同分辨率的设备定义不同大小的图片资源,只需一个VectorDrawable 就够了。
当然,另外的一个好处就是能缩减 apk 的大小,对于对 apk 大小很纠结的开发者来说是一个好消息,但是 VectorDrawable 只支持 Android 5.0 及以上,那么我们如何让 Android 5.0 以下支持 VectorDrawable 呢?

如何兼容到 API Level 21 以下

首先,你得使用 Android Studio 作为开发工具。
其次,只能支持到 Android 2.1 以上。

如果你正在用的 Gradle 插件是 v2.0 或者更高,再 module 的 build.gradle 做如下设置启用它:

android {  defaultConfig {    vectorDrawables.useSupportLibrary = true  }}

如果你还没有更新,在用v1.5后者更低的版本,你需要在你的module 的 build.gradle 文件里添加以下内容:

android {  defaultConfig {    // Stops the Gradle plugin’s automatic rasterization of vectors    generatedDensities = []  }  // Flag to tell aapt to keep the attribute ids around  aaptOptions {    additionalParameters "--no-version-vectors"  }}

然后再代码里面添加这样一段代码

static {    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);}

如果你的 layout.xml 里面用到了,那么你需要将

android:src

替换成

app:srcCompat

更多相关文章

  1. 查看当前Android版本RemoteViews支持的UI对象
  2. Android(安卓)import dalvik.system.VMRuntime;报错
  3. 生成appcompat_v7(兼容包)并报错的解决方法
  4. Android各个版本的区别
  5. Android指纹识别,2017/3/12 03
  6. Android定制日历,支持周月切换,日期标记,农历显示,节假日
  7. IOS、Android自动化测试框架
  8. 在s5pv210开发板的android平台上添加busybox的支持[基于x210开发
  9. Android(安卓)中同一个TextView设置不同大小字体

随机推荐

  1. xml文件
  2. Android文件管理器开发对各类文件的打开
  3. (OK) android——Repo sync cm—解决—er
  4. Android(安卓)驱动开发系列三
  5. android 中layer-list的用法
  6. Android Studio 遇到 “method ID not in
  7. Android引导页面的实现
  8. Android 深入研究SQLite实例(一) 之 业务类
  9. Android UI的加载源码分析
  10. 【android】获取屏幕宽和高