0
点赞
收藏
分享

微信扫一扫

android 自定义圆角View

at小涛 2023-06-19 阅读 58
android

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

举报

相关推荐

0 条评论