2012-03-20 3 views
22

を使用する:トレーススタックを参照してください、私はこの問題を持って描画可能なリソースに

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 drawableの代わりにイメージ(* .png)を使用しても問題ありません。

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> 
+0

THX:代わりの

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

。しかし、うーん。私は何をすべきか?私は1つのdrawable xmlリソースを別のものよりも上に置く必要がありますが、私のリソースはスケーリングしています... xml drawableリソースのスケーリングを避けるために何をする必要がありますか? には重力パラメータがありません... –

答えて

22

あなたはビットマップのソースとしてのxml描画可能を持って傾けます。例えば可能ならば、xmlをそれ自身に呼び出すことによって誤ってブラックホールを作成する可能性があるからです。

が思うことができます、あなたが描画可能XMLを持っているソースwhosはビットマップを持っては描画可能Bです。しかし、drawable Bには、ソースが描画可能なビットマップAがあります。これにより解決できない循環ループが作成されます。あなたがエラーを回避するために、任意の混乱

+0

このWaqasに感謝します。私はまったく同じ質問をしています(しかし、これは答えられているのでマージしませんでした) - しかし私は解決策を求めています:http:// stackoverflow。 com/questions/10055892/prevent-shapes-layered-with-without-using-bitmap – ataulm

+10

@waqaslam、あなたの答えは正しいです:あなたはビットマップのソースとしてXML描画可能ではありませんタグ。私が混乱しているのは、あなたの説明です。循環参照は、XMLリソースを参照するときにどのようなコンテキストでも発生する可能性があります。それはフレームワーク –

31

を回避するために、ビットマップのソースとして画像を提供する必要がある理由です:バイナリXMLファイルの行#XXX:使用、レイヤーリスト内で有効なsrc属性

が必要です。

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

の設計制約ですが、tileModeが必要な場合はどうなりますか? – Gudin

+7

はい、ビットマップ上にtileMode、tint、または他の多くの属性が必要な場合はどうすればよいですか? –

+0

それは私にとって本当の解決です! –

関連する問題