2012-05-12 2 views
5

흥미로운 문제가 있습니다 ... 해결책을 찾지 못하는 것 같습니다. ObjectAnimator를 사용하여 ImageView를 회전합니다. 그러나 onTouchListener는 MotionEvent.ACTION_DOWN을 등록하는 것으로 보입니다. (Log Cats에서 추론 했으므로 MotionEvent.ACTION_MOVE 및 MotionEvent.ACTION_UP도 있습니다.)MotionEvent.ACTION_DOWN 등록 만보기

나는이 문제가 동시에 듣고 애니메이션을 시도하는 것과 관련이 있다고 생각했습니다. 나는 상대 레이아웃에서 이미지 뷰와 선형 레이아웃 (MATCH PARENT로 설정)을 감싸고 터치 이벤트를 수신하기 위해 선형 레이아웃을 등록했습니다. 선형 레이아웃에서도 동일한 문제가 발생합니다. MotionEvent.ACTION_UP 만 처리 중입니다. MotionEvent.ACTION_MOVE를 등록 시키려면 필요한 것이 있습니까?

  touch_pad = (LinearLayout) findViewById(R.id.layout_touch_capture); 
    touch_pad.setOnTouchListener(this); 
    touch_pad.requestFocus(); 

      public boolean onTouch(View v, MotionEvent event) { 
    switch(v.getId()) { 
    case (R.id.layout_touch_capture): 

    long end = 0; 
    long start = 0; 
    float y = event.getY(); 
    float y_sum = y; 
    float x = event.getX(); 

    switch(event.getAction()) { 
    case (MotionEvent.ACTION_UP): 
     end = animator.getCurrentPlayTime(); 
    Log.d("WheelActivity", "end location = " + end); 
    break; 
    case (MotionEvent.ACTION_MOVE): 

    Log.d("WheelActivity", "event.getY() = " + y); 
    y_sum += y; 
    animator.setCurrentPlayTime((long) (start + y_sum)); 
    Log.d("WheelActivity", "animator play time = "        animator.getCurrentPlayTime()); 
    Log.d("WheelActivity", "animator fraction = " + 
      animator.getAnimatedFraction()); 

    break; 
    case (MotionEvent.ACTION_DOWN): 
     start = animator.getCurrentPlayTime(); 
    Log.d("WheelActivity", "start location = " + start); 
    break; 
    } 
    } 
    return false; 
} 

(저조한 형식의 코드에 대한 죄송합니다 ...)

답변

12
return false; 

return true;

변경 : 여기

내 코드입니다
관련 문제