Android Studio 开启支持 VectorDrawable

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值