android 自定义圆角View

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自定义圆角

猜你喜欢

转载自blog.csdn.net/qq_19822039/article/details/131245416