首页 > 解决方案 > minSdkVersion > 21 是否需要 vectorDrawables.useSupportLibrary 标志

问题描述

我想启用 AndroidX 矢量支持(使用 app:srcCompat、AppCompatResources.getDrawable) 如果项目 minSdkVersion > 21,我是否需要启用 vectorDrawables.useSupportLibrary?

defaultConfig {
    vectorDrawables.useSupportLibrary = true
}

尼克·布彻说我们确实需要。但我有疑问。

问:我的理解是否正确,在 minSdkVersion=21 及以上可以跳过这一步?

答:不!如果你这样做了,那么你就不能在旧平台上使用新特性,例如在 API24 中添加了 fillType,如果你省略这个标志,那么你将不能在 API 21-23 上使用这个特性。

标签: androidandroid-vectordrawable

解决方案


是的,如果你的 minSdkVersion > 21,你可以跳过这个。

这适用于低于 21 的 minSdkVersion。如果您的 res/drawable 中有 vectorDrawable 图像,Gradle 插件将在构建期间自动生成 API 级别 20 及以下的光栅 PNG 图像。这意味着您只需要为您的应用项目更新和维护您的矢量资源,Android Studio 就可以处理图像转换过程。


推荐阅读