2011년 7월 28일 목요일

p4:-) 이미지 슬라이딩

이미지 슬라이딩은 다음의 코드로 가능하다.

우선 예네들을 부르고

import android.view.GestureDetector.OnGestureListener;
import android.view.View.OnTouchListener;

 멤버변수를 선언하고

 private GestureDetector mGesture;
 private GestureDetector.OnGestureListener mGestureListener;

on Create에다가 얘들을 붙여주면 된다.

    mGestureListener = new OnGestureListener() {
       public boolean onDown(MotionEvent e) {
        Log.d("hjh", "onDown");
        return false;
       }
    
      @Override
      public void onLongPress(MotionEvent e) {
       // TODO Auto-generated method stub
       Log.d("hjh", "onLongPress");
      }

      @Override
      public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
        float distanceY) {
       // TODO Auto-generated method stub
       Log.d("hjh", "onScroll");
       return false;
      }

      @Override
      public void onShowPress(MotionEvent e) {
       // TODO Auto-generated method stub
       Log.d("hjh", "onShowPress");
      
      }

      @Override
      public boolean onSingleTapUp(MotionEvent e) {
       // TODO Auto-generated method stub
       Log.d("hjh", "onSingleTapUp");
       return false;
      }
      @Override
      public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
        float velocityY) {
       // TODO Auto-generated method stub
       Log.d("hjh", "onFling");
       return false;
      }
      };
        
      mGesture = new GestureDetector(mContext, mGestureListener);
        
      vImageView.setOnTouchListener(new OnTouchListener() {
   
    public boolean onTouch(View v, MotionEvent event) {
     // TODO Auto-generated method stub
    
     mGesture.onTouchEvent(event);
    
     return false;
    }
   });


그런데 문제는... 다운이나 롱프레스의 경우 문제가 아니지만...

  vImageView.setOnTouchListener(new OnTouchListener() { 에서 리스너를 달 때

달리는 넘이 스크롤이 없는 넘이면 스크롤과 플링(옆으로 쏴악 재껴주는... 이미지 슬라이딩의 핵심)
은 로그가 안 찍힌다는 것이다. 즉, 스크롤이 가능한 뷰에 리스너를 달아야 플링 이벤트를
캣치 할 수 있다는 것.

아놔. 구려. 걍 x, y 좌표 계속 캣치해부려. ㅋㅋ

그래도 안들호가 제공하는 API를 써야 편할 듯.

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...