我发现了这个小例子,可以用手指进行绘制:
http://marakana.com/tutorials/android/2d-graphics-example.html 以下是相关代码:
http://marakana.com/tutorials/android/2d-graphics-example.html 以下是相关代码:
List<Point> points = new ArrayList<Point>();
@Override
public void onDraw(Canvas canvas) {
for (Point point : points) {
canvas.drawCircle(point.x, point.y, 5, paint);
}
}
public boolean onTouch(View view, MotionEvent event) {
Point point = new Point();
point.x = event.getX();
point.y = event.getY();
points.add(point);
invalidate();
Log.d(TAG, "point: " + point);
return true;
}
我正在浏览代码,发现他们正将点添加到ArrayList中,然后循环遍历ArrayList。这似乎不是一个非常优化的方法。是否有更好的方法或这是一个好方法?
在我的三星GS3上测试后,我用大小为20的圆涂满了整个屏幕,当颜色越接近完全时,绘制速度越慢,而且圆圈之间的距离也变大了。
onDraw
教程的期望过高。 - Michael Brewer-Davis