【发布时间】:2013-06-25 08:23:13
【问题描述】:
我在 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 肯定会被调用,因为我在日志中看到了坐标调试消息。
谁能指出我做错了什么愚蠢的事情?
【问题讨论】: