【发布时间】:2016-03-07 18:33:55
【问题描述】:
我很难理解 XML 可绘制对象背后的使用模式。 一些消息来源说它们应该根据分辨率自动缩放。我的经验说不同。 例如,在这样的向量中使用绝对大小:
<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 文件实例制作适用于所有屏幕分辨率的可适当缩放的图标?
【问题讨论】:
标签: android icons drawable screen-resolution