1
私はキャンバスに矩形を描くために以下のコードを使用しました。最初の座標はユーザーが最初に画面に触れる場所です。ユーザーが画面上で指を動かすと、キャンバス上に複数の矩形を描画する
問題:1つの矩形だけを描画することができます。最初の1つが消える(私が望む数だけ描画したい)場合は、矩形を描画することができます。
第2の問題:同じ方法で三角形と円を描く方法は?
コード:
//In a custom view class
int mStartX;
int mStartY;
int mEndX;
int mEndY;
Paint paint = new Paint();
//I did constructor and everything.........
//Drawing the rectangle in on draw
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawRect(mStartX, mStartY, mEndX, mEndY, paint);
}
//updating the coordinate variables on touch
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
mStartX = (int) event.getX();
mStartY = (int) event.getY();
break;
case MotionEvent.ACTION_MOVE:
mEndX = (int) event.getX();
mEndY = (int) event.getY();
invalidate();
break;
case MotionEvent.ACTION_UP:
mEndX = (int) event.getX();
mEndY = (int) event.getY();
invalidate();
break;
default:
return false;
break;
}
return true;
}