TriangleLabelView
TriangleLabelView copied to clipboard
丸い角を追加するにはどうすればよいですか?
丸い角を追加するにはどうすればよいですか?
こんにちは、角を丸く追加する方法
こんにちは、角を丸く追加する方法 丸い角を追加するにはどうすればよいですか?
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