我找到了这个小示例代码,用手指画图: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 的圆圈大小为整个屏幕上色,越接近全彩色,绘制速度就越慢,然后圆圈之间的距离越来越远。