Java 安卓-创建一个新的椭圆类,每个手指移动x和y坐标
我想这样做: 当我触摸屏幕时,我想创建一个新的椭圆形到被触摸的x,y坐标 当我在屏幕上拖动手指时,我希望在拖动手指时,在每个x,y坐标处创建新的椭圆。 当我触摸并用手指按住屏幕长按时,我想删除我创建的每个椭圆形 我可以做第一步,但我不知道如何做第二步。三, 这是我试过的代码:Java 安卓-创建一个新的椭圆类,每个手指移动x和y坐标,java,android,motionevent,Java,Android,Motionevent,我想这样做: 当我触摸屏幕时,我想创建一个新的椭圆形到被触摸的x,y坐标 当我在屏幕上拖动手指时,我希望在拖动手指时,在每个x,y坐标处创建新的椭圆。 当我触摸并用手指按住屏幕长按时,我想删除我创建的每个椭圆形 我可以做第一步,但我不知道如何做第二步。三, 这是我试过的代码: public class BouncingBallView extends View implements OnGestureListener{ private List<Oval> ovals = new
public class BouncingBallView extends View implements OnGestureListener{
private List<Oval> ovals = new ArrayList<Oval>();
private GestureDetector gestureScanner;
public BouncingBallView(Context context) {
super(context);
setBackgroundColor(Color.WHITE);
gestureScanner = new GestureDetector(this);
}
@Override
protected void onDraw(Canvas canvas) {
for(Oval o: ovals) { //prints every oval
o.graph(canvas);
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
//1. this works:
float x = event.getX();
float y = event.getY();
Oval oval = new Oval(x, y, this);
ovals.add(oval);
invalidate();
return super.onTouchEvent(event);
}
@Override
public boolean onDown(MotionEvent arg0) {
return false;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float x,
float y) {
//2. this doesn't work:
Oval oval = new Oval(x, y, this);
ovals.add(oval);
invalidate();
return true;
}
@Override
public void onLongPress(MotionEvent arg0) {
//3. this doesn't work:
ovals.clear();
invalidate();
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float x,
float y) {
//2. this doesn't work:
Oval oval = new Oval(x, y, this);
ovals.add(oval);
invalidate();
return true;
}
@Override
public void onShowPress(MotionEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean onSingleTapUp(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}
}
你可以看到,我没有使用gestureScanner参数,也许我应该,但我不知道在哪里以及如何使用
请帮帮我!谢谢