Как нарисовать при помощи canvas древо?

287
19 января 2017, 03:05

Пытаюсь нарисовать что-то вроде этого:

     public class Tree extends View {
    Paint paint;
    Path path;
    public  Tree(Context context) {
        super(context);
        init();
    }
    public  Tree(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }
    public Tree(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }
    private void init() {
              paint = new Paint();
    paint.setColor(Color.BLUE);
    paint.setStrokeWidth(10);
    paint.setStyle(Paint.Style.STROKE);
    path = new Path();
    path.moveTo(50, 50);
    path.lineTo(50, 500);
    path.lineTo(200, 500);
    }
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawPath(path, paint);
    }
}

на деле:

Answer 1

Попробуйте так:

        path.moveTo(50, 50);
        path.lineTo(50, 500);
        path.moveTo(50, 100);
        path.lineTo(100, 100);
        path.moveTo(50, 200);
        path.lineTo(200, 200);

Вот что получается:

И так далее - рисуйте ветки дальше. Суть в том нужно переставлять курсор: метод moveTo ставит «курсор» в указанную точку, и далее рисование пойдет от нее.

READ ALSO
Firebase получить данные пользователя по uid

Firebase получить данные пользователя по uid

У меня есть uid пользователя и нужно получить и вывести его имя и тд

324
Парсинг youtube c помощью Jsoup

Парсинг youtube c помощью Jsoup

Подскажите правильно направлениеИспользую Jsoup для парсинга странницы на youtube

396
Правильная сетка CSS

Правильная сетка CSS

Нужно сделать правильную сетку с помощью CSS и желательно FlexboxВот так у меня выглядит сейчас

398