0
我想添加點Path
和他們之間的繪製線,但沒有出現。。帆布。 Dinamically添加路徑點
我有自定義視圖:
public class BreakDownBar extends View {
private List<Point> points = new ArrayList<>();
private Path path = new Path();
private Paint p = new Paint();
public BreakDownBar(Context context) {
super(context);
}
public BreakDownBar(Context context, AttributeSet attrs) {
super(context, attrs);
p.setStrokeWidth(5);
p.setStyle(Paint.Style.STROKE);
}
public void addPoint(Point point) {
points.add(point);
path.rewind();
reDraw();
}
public void startPoint(Point point) {
points.add(point);
}
private void reDraw() {
Canvas canvas = new Canvas();
path.moveTo(points.getFirst().getX(), points.getFirst().getY());
for (int i = 1; i < points.size(); i++) {
path.lineTo(points.get(i).getX(), points.get(i).getY());
}
canvas.drawPath(path, p);
canvas.drawColor(Color.BLACK);
draw(canvas);
invalidate();
}
}
點class
:
public class Point {
private float x, y;
...getters and setters
}
同時增加新點的List
我可以看到想在日誌中預期的結果,但屏幕上沒有任何事情發生。
我錯過了什麼讓行顯示在屏幕上?
很酷,謝謝你的解釋! –
謝謝,祝你好運:) – MatPag