Рисую линию так:
p.setStrokeWidth(1);
canvas.drawLine(crX, crY, ceX, ceY, p);
Как задать ей пунктир?
Для некоторых эффектов с линиями в Android есть класс PathEffect. В частности он позволяет скруглять углы ломаных, делать линию не идеально ровной, рисовать пунктиром и другое.
Для того, чтобы начертить пунктирную линию потребуется класс DashPathEffect:
class DrawView extends View {
Path path;
Paint p1;
Paint p2;
public DrawView(Context context) {
super(context);
path = new Path();
path.rLineTo(100, 300);
p1 = new Paint(Paint.ANTI_ALIAS_FLAG);
p1.setStyle(Paint.Style.STROKE);
p1.setStrokeWidth(7);
p2 = new Paint(p1);
p2.setColor(Color.GREEN);
p2.setPathEffect(new DashPathEffect(new float[] { 30, 10}, 0));
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawARGB(80, 102, 204, 255);
canvas.translate(250, 0);
canvas.drawPath(path, p2);
}
}
Здесь значения массива вещественных чисел в аргументе класса DashPathEffect - 30 длина пунктира, 10 - расстояние между пунктирами.
Класс работает с любыми объектами канвы, которые рисуют линии (прямоугольник, круг и тд)
Узнать больше про класс PathEffect.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости