我想知道方法什么时候
protected void onDraw(final Canvas canvas) {}
将被调用。我在问这个类的控制流。这个类的构造函数是从其他类调用的。当控制权来到构造函数时,它会简单地调用这个类中的所有方法吗?
当绘制图像被触摸和移动时,我也想做一些绘图。为此,我使用了 onTouchEvent(MotionEvent 事件)。但是我在 onTouch 中进行了一些编码后,我不知道如何调用 onDraw。也就是说,我确实更改了一些坐标值,如何调用 onDraw 来重绘图像?
任何人都可以帮忙吗?
public class DrawView extends View {
Paint paint = new Paint();
public DrawView(Context context) {
// TODO Auto-generated constructor stub
super(context);
}
@Override
protected void onDraw(final Canvas canvas) {
// TODO Auto-generated method stub
paint.setColor(Color.BLACK);
paint.setStrokeWidth(3);
canvas.drawRect(30, 350, 50, 400, paint);
super.onDraw(canvas);
// some other drawings
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN://some code
break;
case MotionEvent.ACTION_MOVE://some code
break;
case MotionEvent.ACTION_UP://some code
break;
default: break;
}
return super.onTouchEvent(event);
}
}