欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

为SurfaceView设置圆角方式

程序员文章站 2024-02-02 15:24:52
...
    private void setSurfaceViewCorner(final float radius) {

        mDisplaySurfaceView.setOutlineProvider(new ViewOutlineProvider() {
            @Override
            public void getOutline(View view, Outline outline) {
                Rect rect = new Rect();
                view.getGlobalVisibleRect(rect);
                int leftMargin = 0;
                int topMargin = 0;
                Rect selfRect = new Rect(leftMargin, topMargin,
                    rect.right - rect.left - leftMargin,
                    rect.bottom - rect.top - topMargin);
                outline.setRoundRect(selfRect, radius);
            }
        });
        mDisplaySurfaceView.setClipToOutline(true);
    }

如上图代码,通过View提供的函数setOutlineProvider和setClipToOutLine设置圆角,也可以为SurfaceView设置成其他形状。

由于是View函数,其他的View也可以通过该函数进行设置圆角