2011-12-19 9 views
3

LinearLayoutのバックグラウンドとしてシェイプXML描画を使用しています。シェイプXML DrawableをビットマップXML Drawableに解析できません

ファイル:

:background.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 

    <gradient 
     android:angle="270" 
     android:endColor="@color/bg_end_blue" 
     android:startColor="@color/bg_start_blue" /> 

    <corners android:radius="0dp" /> 

</shape> 

それから私は、このように私は、このビットマップXMLの描画可能を作成し、ディザリングとどのようにこれが(この記事http://android.amberfog.com/?p=247を経由して)このような背景の外観を向上させることができますについて読みますファイル:background_bitmap.xml

<?xml version="1.0" encoding="utf-8"?> 
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
    android:dither="true" 
    android:src="@drawable/background" 
    android:tileMode="repeat" /> 

LinearLayoutに適用しようとしました。しかし、私は得る:

org.xmlpull.v1.XmlPullParserException: Binary XML file line #5: <bitmap> requires a valid src attribute 

あなたは私が間違っていることを知っていますか?前もって感謝します!!

+0

には有効なsrc属性が必要です。その背景は有効なものですか? –

+0

はい、そうです。私はレイアウトの背景として最初の形状drawableを使用し、それは正しかったです。 –

+0

上記のリンクにこの行が見つかりました。 'Androidのディザリングは伸縮性のある画像やタイル画像にのみ適用されるためです。どうして?知りません。あなたが知っているなら - 私に書きなさい。後でプラットフォームコードを見ていきます)。 ImageViewで一度作業して作業を確認してください。 –

答えて

1

問題は、drawable xmlファイルをbackground_bitmap.xmlのビットマップとしてロードしようとしていることです。イメージをsrcとして必要とし、別のxmlファイルは私が知る限り動作しません。
ディザリングをグラデーションに適用することに関する以前の質問がありましたが、ここでは1つです:Is it possible to dither a gradient drawable?

関連する問題