티스토리 뷰
ListView를 보시면 화면을 터치한 후 드래그하는 속도에 따라 ListView의 스크롤링 속도가 변하는 것을 볼 수 있습니다. 천천히 하면 스크롤도 천천히 되고 빠르게 드래그하면 바퀴 돌 듯이 ListView가 스크롤 되지요. 이런 효과는 어떻게 구현될 수 있을까요? 안드로이드에서 제공하는 클래스를 통해 쉽게 구현할 수 있습니다. 다음의 코드를 보시죠.
public class MyOnTouchListener implements OnTouchListener { private VelocityTracker mVelocityTracker;
public boolean onTouch(View v, MotionEvent event) { if (mVelocityTracker == null) { mVelocityTracker = VelocityTracker.obtain(); } mVelocityTracker.addMovement(event); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: Log.v(TAG, "ACTION_DOWN"); break; case MotionEvent.ACTION_MOVE: Log.v(TAG, "ACTION_MOVE"); mVelocityTracker.computeCurrentVelocity(1); float velocity = mVelocityTracker.getXVelocity(); break; case MotionEvent.ACTION_UP: Log.v(TAG, "ACTION_UP"); if (mVelocityTracker != null) { mVelocityTracker.recycle(); mVelocityTracker = null; } break; } return true; } } |
출처 : http://anddev.tistory.com/16
'Computer > Android' 카테고리의 다른 글
[Android] User-permission (권한설정) (0) | 2016.10.03 |
---|---|
[Android] Alarm Ringtone 알람 링톤 선택하기 (0) | 2016.10.01 |
[Android] String 을 int 로, int를 String으로 변환 (0) | 2016.09.14 |
[Android] code내에서 동적으로 setTextSize (0) | 2016.03.25 |
[Android] EditText 키보드 엔터(Enter)키 기능 변경 (0) | 2016.01.14 |