Android Studio 开启支持 VectorDrawable

  • 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

你可能感兴趣的:(Android-基础)