public class CustomView extends View {
private float cornerRadius;
public CustomView(Context context) {
super(context);
init();
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.CustomView);
cornerRadius = typedArray.getDimension(R.styleable.CustomView_cornerRadius, 0);
typedArray.recycle();
init();
}
private void init() {
// 设置outline provider
setOutlineProvider(new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
// 创建一个圆角矩形的轮廓
outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), cornerRadius);
}
});
// 开启视图剪切到outline
setClipToOutline(true);
}
}
2.第二种方法,用ShapeableImageView自定义圆角