初学andorid 遇到一个圆形的ImageView显示的需求,网上已经有了很多方法,网上找过很多资料,用重写ImageView Ondraw()方法加上自己的理解,整理了一下:
1.新建一个Imageview类,继承AppCompatImageView
2.重写一个ondraw方法
3.在Canvas画布中对图片进行裁剪
由于之前没有java基础,纯属初学摸索,所以查了很多基本的方法和元素并且注释。如果有不对的地方希望大家一起指正:
public class drawImg extends AppCompatImageView {
//定义画笔,消除锯齿:Paint.ANTI_ALIAS_FLAG
private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
//定义位图
private Bitmap mbitmap;
//图片渲染器,是shader渲染的子类,主要是对图片进行渲染的
private BitmapShader bitmapShader;
//定义矩阵,可以对矩阵内的图片进行缩放,渲染,裁剪,拉伸等操作
public class drawImg extends AppCompatImageView {
//定义画笔,消除锯齿:Paint.ANTI_ALIAS_FLAG
private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
//定义位图
private Bitmap mbitmap;
//图片渲染器,是shader渲染的子类,主要是对图片进行渲染的
private BitmapShader bitmapShade