android - 使用可绘制资源

标签 android bitmap drawable xml-drawable

我有这个问题,查看跟踪堆栈:

E/AndroidRuntime(2410): Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #5: <bitmap> requires a valid src attribute

我的 xml 文件如下所示:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <bitmap android:src="@drawable/btn_1"/>
    </item>
</layer-list>

btn_1 是可绘制资源中的另一个 xml 文件 当我使用图像(* .png)而不是 xml drawable 时,没关系。

我可以使用可绘制资源作为位图的 src 吗? 以防万一这是我的 btn_1.xml 文件。即使 btn_1 文件没有项目,它也不起作用。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/btn_arrow_bg_red"/>
<item>
    <bitmap
        android:gravity="center"
        android:src="@drawable/btn_arrow_white" />
</item>
</layer-list>

最佳答案

为避免错误:二进制 XML 文件行 #XXX:需要有效的 src 属性

在层列表中,使用:

<item android:drawable="@drawable/image" />

代替:

<item>
  <bitmap android:src="@drawable/image"/>
</item>

关于android - 使用可绘制资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9788726/

相关文章:

java - +Android Webview - 如何自动滚动页面?

java - 在 glide 中处理 IllegalArgumentException ("You cannot start a load for a destroyed activity")的最佳方法是什么?

java - MVVM架构中从存储库插入数据后无法切换到MainActivity

java - 在屏幕上居中显示 Google 路线

java - 如何更改位图的不透明度?

android - DrawableCompat.setTint(drawable, color) vs Drawable.setColorFilter(color, mode)

c# - 读取单色位图像素颜色

xml泄漏内存中的Android位图?

java - 如何获取从互联网上获取的 Drawable 并将其保存到我的 Android 设备的缓存目录中?

android - 在 Android 中的可绘制对象上应用动画