【发布时间】:2015-03-12 03:07:37
【问题描述】:
我正在尝试在 API21 上使用 VectorDrawable,但 Android 会从 xxhdpi 文件夹加载 PNG 资源。
我目前的res结构如下:
- 资源
- drawable-xxhdpi
- test_icon.png
- drawable-21
- test_icon.xml
- drawable-xxhdpi
还有我的 XML 布局:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/test_icon"/>
还有其他方法可以解决这个问题吗?据我了解,Android 将始终选择 PNG 资源,但如果是这种情况,如何将 VectorDrawables 用于 API21 并将 PNG 用于较低的 API?
[更新 1]
如果我们使用drawable-xxhdpi-21 资源文件夹,Android 将选择矢量而不是 PNG 资源。但这意味着我们还必须拥有其他密度的文件副本(或符号链接)(例如xhdpi、hdpi 等)
【问题讨论】:
-
nodpi-21 怎么样?不就解决了吗?
-
来吧,关闭问题
-
@pengrad 不必要的评论哥们...
-
您可以避免使用 PNG 文件并在所有 Android 版本上仅使用 VectorDrawable,因为支持库可以处理这种情况。只需使用“app:srcCompat”而不是“app:src”,并在应用程序 gradle 文件的“defaultConfig”区域内设置标志“vectorDrawables.useSupportLibrary = true”。 VectorDrawable 应该在“res/drawable”文件夹中。
标签: android android-layout android-5.0-lollipop