无法在Android中将矢量图形用作位图图形

5
我正在将一个矢量可绘制对象打包到位图可绘制对象中,并尝试将其用作视图的背景。这个编译成功了,但在运行时崩溃并显示资源未找到异常。
以下是资源xml文件:
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/ic_fruit_salad"
    android:tileMode="disabled"
    android:gravity="center">
</bitmap>

其中@drawable/ic_fruit_salad是矢量资源。

布局的xml:

<android.support.v7.widget.RecyclerView
     android:id="@+id/rv_listofitems"
     android:background="@drawable/background_fruit_salad"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>

但是,如果直接使用矢量资源,则可以正常工作。我将其打包成位图的原因不是为了在视图背景中拉伸位图。我知道可能还有其他方法来实现这一点,但我想知道为什么这样做不起作用。


它无法工作,因为矢量图不是位图。 - CommonsWare
但是矢量可绘制图形不是应该能够轻松缩放到任何尺寸而不失去质量,而像素图则不行吗? - bsguru
“但是矢量可绘制图形不应该比位图更容易缩放到任何尺寸而不失去质量吗?”-- 是的,只要您考虑到路径内在的任何纵横比即可。 - CommonsWare
但是,当我直接使用它时,它可以工作,但不会保持任何纵横比(即会拉伸),所以我认为这可能不是一个问题。但是我不是这方面的专家。 - bsguru
1个回答

2

创建相应的 PNG 文件对于您的矢量资源非常有帮助。使用 文件 -> 新建 -> 图像资产 菜单,并在路径中设置您的矢量可绘制地址。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接