私はこの問題を抱えています、トレーススタックを見てください:
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ファイルです。xmlドローアブルの代わりに画像(* .png)を使用している場合は問題ありません。
描画可能なリソースをビットマップへの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 drawableを使用することはできません。たとえば、可能であれば、それ自体にxmlを呼び出すことにより、誤ってブラックホールを作成する可能性があるためです。
あなたがXMLのドローアブルを持っているとしましょう[〜#〜] a [〜#〜]これは、ソースがドローアブルであるビットマップを持っています[〜#〜] b [〜#〜]。しかし、ドローアブル[〜#〜] b [〜#〜]の場合、ソースがドローアブルであるビットマップ[〜#〜] a [〜#〜]があります。これにより、解決できない循環ループが作成されます。そのため、混乱を避けるために、ビットマップのソースとして画像を提供する必要があります
エラーを回避するには:バイナリXMLファイルの行#XXX:有効なsrc属性が必要です
レイヤーリスト内では、以下を使用します:
<item Android:drawable="@drawable/image" />
の代わりに:
<item>
<bitmap Android:src="@drawable/image"/>
</item>
このエラーが発生しました(<bitmap> requires a valid src attribute
)ビットマップにvector imageを使用する場合。
私の解決策は
-@Santiago Rivasの回答を使用
-または別の画像を使用します(ベクター画像ではありません)