我很难理解XML drawables背后的使用模式。 一些消息来源说他们应该根据分辨率自动扩展。我的经历说不同。 例如,在像这样的向量中使用绝对大小:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp" ... />
实际上会在所有分辨率下以24dp的大小显示此形状。我根本没有观察到任何自动缩放,例如平板电脑的分辨率看起来很小。
所以我在values / dimens.xml中声明了各种大小,并将其添加到如下形状:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="@dimen/status_icon_size"
android:height="@dimen/status_icon_size" ... />
哪种方法修复了原始问题,但在添加min-sdk = 19(Android 4.4)后无法构建。从这些向量生成位图时,编译器似乎在使用dimens.xml中的值时遇到问题:
Error:Error: Width (0) and height (0) cannot be <= 0
我想避免在所有可能的drawables_w *** dp中使用多个icon.xml,就像使用dimens.xml一样。我已经有一堆dimens.xml了。矢量图标的整个目的不是容易扩展吗?
问:有没有办法制作一个适用于所有屏幕分辨率的可正确缩放图标,只需在/ res / drawable中使用一个XML文件实例?
答案 0 :(得分:1)
避免此错误Error:Error: Width (0) and height (0) cannot be <= 0
将此字符串添加到app build.gradle :
defaultConfig {
...
vectorDrawables.useSupportLibrary = true
}