Android 开发中,我们经常需要实现图片的圆形/圆角的效果,我们可以使用两种方式来实现这样的效果。一种是使用Xfermode,另一种是BitmapShader来实现。下面我将分别介绍这两种用法。使用上面代码中看出在指定的画布上绘制了两层图像,一个是半径为500像素的圆形,一个是将目标Bitmap绘制在上面。之间还调用了paint.setXfermode;作用是这两个绘制的效果图叠加后,取得第二个图的交集图。所以,我们先绘制一个圆形,然后绘制Bitmap,交集为圆形,取出的就是圆形区域的Bitmap了。可以根据不同的Mode,控制显示的效果图。下面我们使用同样的方式,选择自定义ImageView来实现。

Android  ImageView绘制圆角效果

Android  ImageView绘制圆角效果

Android  ImageView绘制圆角效果

Android  ImageView绘制圆角效果

Android  ImageView绘制圆角效果

Android  ImageView绘制圆角效果

Android  ImageView绘制圆角效果

Android  ImageView绘制圆角效果

Android  ImageView绘制圆角效果