TriangleLabelView icon indicating copy to clipboard operation
TriangleLabelView copied to clipboard

Rounded Rectangle

Open Mr7Cat opened this issue 8 years ago • 2 comments

How to support Rounded Rectangle? Please help solve this problem, thank you !

Mr7Cat avatar Sep 20 '16 13:09 Mr7Cat

怎么支持圆角?

crazies avatar Jan 03 '18 04:01 crazies

怎么支持圆角? How to support Rounded Rectangle? Please help solve this problem, thank you !

Use method path.quadTo() or path.rQuadTo() can meet your requirement, for example: Assume the radius is what you want defined in your View, the code snippet below in method onDraw() can work for you

...
    if (corner.top()) {
            path.moveTo(0, height);
//            path.lineTo(width / 2, 0);
            path.lineTo(width / 2 - radius, 0 + radius);
            path.quadTo(width / 2, 0, width / 2 + radius, 0 + radius);
            path.lineTo(width, height);
        } else {
            path.moveTo(0, 0);
//            path.lineTo(width / 2, height);
            path.lineTo(width / 2 -radius, height - radius);
            path.quadTo(width /2, height, width/2 +radius, height - radius);
            path.lineTo(width, 0);
        }

For more flexible, you can define attribute radius in attrs.xml file, so that you can define the radius you want in your layout file

wujushan avatar Jan 29 '21 01:01 wujushan