Рисую линию так:
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
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет ! Нужны параметры для WebView настроек такие как setJavaScriptEnabled только с описанием чтобы было удобно разобраться так как делаю браузер...
Есть хостинг для сайта от regru, управляемый ISP Manager'ом, установлена CentOS 6
Первая мапа выдает размер 3, все окНо та, которая заполняется из бд, всегда имеет размер 0, повторяющихся ключей и значений нет