TriangleLabelView
TriangleLabelView copied to clipboard
Rounded Rectangle
How to support Rounded Rectangle? Please help solve this problem, thank you !
怎么支持圆角?
怎么支持圆角? 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