如果您在 ImageView 中显示位图,您可能可以使用该ImageView.setAlpha(int)
方法。但是,如果 ImageView 是通过 RemoteViews 访问的,就像更新小部件时的情况一样,您将无法调用此方法(如果您尝试通过 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 中为视图设置不透明度(Alpha)
来自 developer.android.com 的 Bitmap文档。