9

不透明なパターン(不透明度10%)があり、それをいくつかの色と組み合わせる必要があります。

画像に背景色を設定することはできますか?

4

2 に答える 2

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);
于 2012-07-22T10:01:25.470 に答える
0

はい。

を使用できますImageView。背景色を設定し、半透明の画像をソースとして設定します。

これをレイアウトに適用する場合は、そのレイアウトを拡張し、オーバーライドされた onDraw() で背景色を描画し、半透明の画像とブレンドします

Paint p = new Paint();
p.setXfermode(new PorterDuffXfermode(Mode.MULTIPLY));
于 2012-07-22T10:00:57.367 に答える