Ответ 1
Для этого вы можете использовать Path.quadTo()
или Path.cubicTo()
. Примеры можно найти в примерах SDK (FingerPaint). В вашем случае вам просто нужно вычислить среднюю точку и передать затем три точки на quadTo()
..
Код для вас:
- (x1, y1) и (x3, y3) - ваши начальные и конечные точки соответственно.
-
создать объект рисования только один раз (например, в вашем конструкторе)
Paint paint = new Paint() { { setStyle(Paint.Style.STROKE); setStrokeCap(Paint.Cap.ROUND); setStrokeWidth(3.0f); setAntiAlias(true); } }; final Path path = new Path(); path.moveTo(x1, y1); final float x2 = (x3 + x1) / 2; final float y2 = (y3 + y1) / 2; path.quadTo(x2, y2, x3, y3); canvas.drawPath(path, paint);