如何制作不绘制图像透明部分的 ImageView?

How can I make an ImageView that doesn't draw the transparent parts of the image?

我需要我的自定义 ImageView(称为 ItemAnimationView)不绘制其图像的任何透明部分。

我将这个 class 用于很多实例和很多不同的图像,所以如果我只能使用我可以调用的方法来解决这个问题是最好的 ImageView , 因为手动编辑所有不同的图像是行不通的。

那么有没有某种 ColorFilter 不仅过滤掉某种颜色而且每个像素都透明到任何程度的东西?

此外,如果有一种方法可以在不访问实际位图的情况下执行此操作,那将非常方便,因为到目前为止我用于视图的唯一代码行是

setImageResource(item.getResourceID());

和一些动画,所以我没有关联的 Bitmap 对象。

我使用 ColorMatrixColorFilter 和这个矩阵达到了预期的效果:

{1f,0f,0f,0f,0f,
0f,1f,0f,0f,0f,
0f,0f,1f,0f,0f,
0f,0f,0f,256f,-256*254};