2013-03-04 4 views
0

사용자 정의보기를 만들었으며보기에 표시되는 데이터의 스크롤 및 크기 조절을 처리하고 싶습니다.Android - 스케일 및 스크롤 감지기

그래서 제스처와 눈금 감지기를 결합하려고합니다. 여기 내 코드가 있습니다. 스크롤링 감지기가 작동하는 것처럼 보이지만 스케일 감지기가 반응하지 못합니다.

제안 사항?

또한
public void initGestureDetectors() { 
    GestureDetector.SimpleOnGestureListener gestureListener = new GestureDetector.SimpleOnGestureListener() { 
      @Override 
      public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { 
       scrollBy((int)distanceX, (int)distanceY); 
       return true; 
      } 

     }; 


    gestureDetector = new GestureDetector(getContext(), gestureListener); 

    ScaleGestureDetector.SimpleOnScaleGestureListener scaleListener = new ScaleGestureDetector.SimpleOnScaleGestureListener() { 
     public boolean onScale (ScaleGestureDetector detector) { 
      // check scale is not too small 
      Toast.makeText(getContext(), "Scale x " + detector.getScaleFactor(), Toast.LENGTH_SHORT).show(); 
      if(detector.getScaleFactor() > 0.5) { 
       return true; 
      } 
      return false; 
     } 
    }; 
    scaleDetector = new ScaleGestureDetector(getContext(), scaleListener); 

    setOnTouchListener(new OnTouchListener() { 
     public boolean onTouch(View view, MotionEvent motionEvent) { 
      gestureDetector.onTouchEvent(motionEvent); 
      return true; 
     } 
    }); 
} 


public boolean onTouchEvent(MotionEvent event) { 
    if (event.getPointerCount() > 1) { 
     Toast.makeText(getContext(), "detected", Toast.LENGTH_SHORT).show(); 
      return scaleDetector.onTouchEvent(event); 
     } 
    return gestureDetector.onTouchEvent(event); 
} 

, 내가 에뮬레이터에서 '규모'운동을 할 수있는 방법, 그것은 가능하다 : 여기

내 코드?

답변