5

次のように、xml 経由でビットマップ リソースを作成する必要があります。

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

しかし、このビットマップに不透明度を設定する必要があります。このxmlを使用してこれを行う方法はありますか? ビットマップ タグ内で Shape タグが許可されていれば機能することはわかっていますが、試してみましたがうまくいきませんでした。

4

1 に答える 1

3

Bitmap を ImageView に表示している場合は、おそらくImageView.setAlpha(int)メソッドを使用できます。ただし、ウィジェットを更新する場合のように、ImageView が RemoteViews を介してアクセスされる場合、このメソッドを呼び出すことはできません (リモートビューを介して呼び出そうとすると、RemoteViews.setInt(int, String, int)同様に例外が発生します)。

 private Bitmap adjustOpacity(Bitmap bitmap, int opacity)
    {
        Bitmap mutableBitmap = bitmap.isMutable()
                               ? bitmap
                               : bitmap.copy(Bitmap.Config.ARGB_8888, true);
        Canvas canvas = new Canvas(mutableBitmap);
        int colour = (opacity & 0xFF) << 24;
        canvas.drawColor(colour, PorterDuff.Mode.DST_IN);
        return mutableBitmap;
    }

詳細情報. そして、あなたの問題と同じように最も一般的です。Android でビューの不透明度 (アルファ) を設定する方法

developer.android.com からの Bitmap のドキュメント。

于 2012-05-29T14:02:12.990 に答える