A5下载文章资讯

分类分类

ImageView背景色变暗的处理

2015-07-08 11:05作者:zhao

在一些需求中,需要将ImageView的背景色变暗从而突出其他的view,类似于dialog的效果,如果仅仅是通过设置背景色的alpha是不能够达到这种效果的,如下图:

ImageView背景色变暗的处理

这个时候还是需要运用canvas的画图功能,可以在canvas已有的图片基础上设置画笔的alpha,绘制一个矩形蒙板就可以达到该种效果:

private Bitmap getDarker(Drawable d){

BitmapDrawable drawable =(BitmapDrawable)d;

Bitmap origin = drawable.getBitmap();

int width = origin.getWidth();

int height = origin.getHeight();

Bitmap background =Bitmap.createBitmap(width, height, Config.ARGB_8888);

Canvas canvas=new Canvas(background);

canvas.drawBitmap(origin, 0, 0, new Paint());

Paint p1=new Paint();

p1.setAlpha(75);

canvas.drawRect(0, 0, width, height, p1);

return background;

}

实现效果如下:

ImageView背景色变暗的处理

 

展开全部

相关

说两句网友评论
    我要跟贴
    取消