尝试将灰度滤镜应用于 ImageView 时,我缺少什么?



根据多个来源,此代码应该适用于ImageView。ImageButton 是 ImageView 的子类,因此这不应该是一个因素。以防万一,我尝试将视图更改为图像视图。无论哪种方式,都没有效果,图像保持全彩色。

ImageButton imageButton = findViewById(R.id.imageButton);
ColorMatrix matrix = new ColorMatrix();
matrix.setSaturation(0);
ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
imageButton.setColorFilter(filter);

我发现了问题:我的观点没有src,只有一个背景,也就是说,它有:

android:background="@drawable/jw_true"

而不是:

android:src="@drawable/jw_true"

出于多种目的,它们可以互换,但不能用于此目的。当我的尝试不起作用时,过滤器被应用于不存在的 src,这就是什么也没发生的原因。

最新更新