メソッドがいつになるか知りたい
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);
}
}