我在 Android SDK 中玩弄 2D 图形,但我对应该是一个简单的例子感到困惑。
我假设我只是误解了一些基本/基本的东西。
public class DrawView extends View {
Paint paint = new Paint();
Canvas canvas = new Canvas();
public DrawView(Context context) {
super(context);
paint.setColor(Color.BLACK);
}
@Override
public void onDraw(Canvas canvas) {
this.canvas = canvas;
this.canvas.drawLine(0,0, 500, 500, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
Log.d("DrawView", "onTouchEvent: " + event.getX() + "," + event.getY() );
canvas.drawLine(0,500, 500, 0, paint);
return true;
}
}
上面的代码在应用程序启动时0,0
画了一条线。500,500
那部分工作得很好。
问题是第二行没有绘制在触摸事件上。onTouchEvent
肯定会被调用,因为我在日志中看到了坐标调试消息。
有人可以指出我做错了什么愚蠢的事情吗?