绘画灰度的完整视图

时间:2014-11-03 12:01:58

标签: android

在我正在处理的应用中,我们希望向用户显示某些项目已被禁用。我们想要通过以灰度绘制视图的视觉效果的方式。这些视图可以包含图像,文本,按钮等,几乎任何东西。

那么,有没有办法让整个视图以灰度绘制?

这是当前的解决方案,对于listview项目来说太慢了:

@Override
protected void dispatchDraw(Canvas canvas) {
    final Bitmap tempBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ALPHA_8);
    final Canvas tempCanvas = new Canvas(tempBitmap);
    ColorMatrix colorMatrix = new ColorMatrix();
    colorMatrix.setSaturation(0);
    Paint paint = new Paint(Paint.DITHER_FLAG);
    paint.setColorFilter(new ColorMatrixColorFilter(colorMatrix));
    super.dispatchDraw(tempCanvas);
    canvas.drawBitmap(tempBitmap, 0, 0, paint);
}

0 个答案:

没有答案