2012-07-22 3 views

答えて

24

確かに半透明の画像とブレンド。ただLayerListDrawableを使用してください。

ような何か:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="#FF00ffff" /> 
     </shape> 
    </item> 
    <item> 
     <bitmap 
      android:src="@drawable/your_tiled_drawable" 
      android:tileMode="repeat" /> 
    </item> 
</layer-list> 

保存することをお使いのres/drawablesディレクトリに、そしてあなたの背景として使用します。

悲しいことに、あなたのアプリケーションがより複雑な場合、明らかにtileModeが設定されないことがあります。これを実行する場合は、Javaでタイルモードを再追加する必要があります。

が、私は通常、まだXMLでそれを設定し、ような何か:

View v = findViewById(R.id.my_view); 
LayerDrawable lld = (LayerDrawable) v.getBackground(); 
BitmapDrawable tiled = (BitmapDrawable) lld.getDrawable(1); 
tiled.setTileModeXY(TileMode.REPEAT, TileMode.REPEAT); 
+0

恐ろしいを、私が探していたもののthats。 – Signcodeindie

+0

@ABentSpoon、まさに私が探しているのですが、画像が伸びています。画像のアスペクト比を維持するにはどうすればよいですか? – Euridice01

0

はい。

ImageViewを使用できます。背景色を設定し、半透明の画像をソースとして設定します。あなたはレイアウトにこれをしたい場合は

は、そのレイアウトを拡張し、オーバーライドされたonDraw()で、背景色を描画し、

Paint p = new Paint(); 
p.setXfermode(new PorterDuffXfermode(Mode.MULTIPLY)); 
関連する問題