为什么API 19设备(以及API 21以下的其他设备)需要vectorDrawables.useSupportLibrary来加载图标?

肮脏的戴夫:

我有一段时间这个问题了,但我一直想知道:为什么我需要声明

vectorDrawables.useSupportLibrary = true

我的API 19设备而不是我的API 29设备?

它们都加载了我导入的相同图标,但是为什么API 19设备需要声明其他设备却给您带来编译时错误。

瑞安M:

原因是在API 21(Android 5.0 Lollipop)中添加了对矢量可绘制对象的本机(如内置于Android框架中)支持。

vectorDrawables.useSupportLibrary选项启用了Android支持库(现称为AndroidX AppCompat)中向后兼容功能,该功能允许它在运行时通过VectorDrawableCompatAnimatedVectorDrawableCompat加载矢量可绘制对象

也可以将Android Gradle插件配置为在构建时将矢量图像转换为PNG文件,以供在API 21之前的设备上使用,但这首先抵消了使用矢量可绘制对象的许多好处,例如较小的应用程序尺寸。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章