[컴][안드로이드] touchslop 이 뭐지?


touchslop

slop 은 출렁거림을 뜻한다.

안드로이드에서 touchslop 은 touch 할때 출렁거림(slop) 의 정도를 이야기 한다. 역시 자신의 모국어라서 단어는 잘 만들어내는 듯 하다. 조금 부럽다 ㅜ.ㅜ

안드로이드는 이 touchslop 을 정의해 줌으로써 의도하지 않은 scrolling 을 줄이는 역할을 한다.

예를 들면, 갑자기 화면에 touch 를 하게 되면 사람인지라 손이 살짝 미끄러질 수 있다.(아주 미세하게라도.) 그러면 그것을 drag 로 인식해서 scroll 을 할 수도 있고, 아 이정도 drag 는 drag 가 아니라 그냥 살짝 미끄러진 정도구나 라고 판단할 수도 있다. 그 기준이 바로 touchslop 이라고 이해하면 될 듯 하다.

아래처럼 View 에서 onTouchEvent 를 override 하게 될 때 사용할 수 있다.

 final ViewConfiguration configuration = ViewConfiguration
    .get(getContext());
 mTouchSlop = configuration.getScaledTouchSlop();
 ...

@Override
public boolean onTouchEvent(MotionEvent ev) {
 case MotionEvent.ACTION_MOVE:
  final int deltaX = (int) (mLastMotionX - x);

  boolean xMoved = Math.abs(deltaX) > mTouchSlop;




References

  1. https://news.ycombinator.com/item?id=3141922
  2. http://feiyingx.wordpress.com/2011/03/17/what-is-a-touch-slop/

댓글 없음:

댓글 쓰기