2014-07-04 6 views
0

나는 안드로이드의 드래그 앤 드롭 API를 사용하고 있습니다. 내 견해를 청크로 옮기고 싶습니다. 즉, 움직임이 연속해서는 안됩니다. 단위가 50 픽셀이라고 가정 해보십시오. 그래서 저는 제 관점을 50 번째 픽셀마다 움직이고 싶지 않을 것입니다.뷰를 드래그하는 동안 스냅하기

다음과 같은 방법으로 끌 때 끌리는 동안 깜박임이 많이 있습니다. (물론 깜박 거리지 않고 모든 것이 정상적으로 작동하지 않습니다.)

@Override 
public boolean onDrag(View v, DragEvent event) { 
    int action = event.getAction(); 
    switch (action) { 
     case DragEvent.ACTION_DRAG_LOCATION: 
      View view = (View) event.getLocalState(); 
      if(event.getX() > view.getX()){ 
       view.setX(view.getX() + 50); 
      } else if (event.getX() < view.getX()){ 
       view.setX(view.getX() - 50); 
      } 
      break; 
     default: 
      break; 
    } 
    return true; 
} 

도움이 되셨다면 좋겠습니다.

답변

0

이 코드는 잘 작동합니다 :

final int SIZE = 50; 
    View view; 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     int action = event.getAction(); 
     switch (action) { 
      case MotionEvent.ACTION_DOWN: 
      case MotionEvent.ACTION_UP: 
      case MotionEvent.ACTION_MOVE: 
       setX(event.getX()/SIZE); 
       setY(event.getY()/SIZE); 
       return true; 
     } 
     return super.onTouchEvent(event); 
    } 
관련 문제