如何长按(可能是4分钟)在画布上连续移动物体

时间:2011-11-12 04:42:38

标签: android canvas surfaceview

问候语,

我使用canvas拍摄Surface View。我正在移动表面以显示移动 宾语。但我的问题是,如果我按下画布然后一些对象将被移动,直到用户不释放画布的压力。我在触摸事件中尝试过action_down。但它有效 只有一次。所以我必须一次又一次地触摸移动对象

1 个答案:

答案 0 :(得分:1)

关于触摸事件的两件事情。如果你想使用它们并将它们保存在你的视图中,则总会返回true。两个使用action_move

 public boolean onTouch(View v, MotionEvent event){
    if(event.getAction() == MotionEvent.ACTION_DOWN){
        saveEvent = event;
    }else if(event.getAction() == MotionEvent.ACTION_MOVE){
        //diff savedEvent and event
        //on 2.0 above its getX(0)
        diffX = event.getX() - savedEvent.getX();
        diffY = event.getY() - savedEvent.getY();
        moveObject(diffX,diffY);
        savedEvent = event;
    }else if(event.getAction() == MotionEvent.ACTION_UP){
        savedEvent = null;
    }
    return true;
 }