如何检测外部拖动的视图触摸?

问题描述:

我想使用onTouch方法编码imageView点击反馈。我的代码用于在按下时缩放imageView(MotionEvet.ACTION_DOWN),并在用户停止按下时返回到其正常尺寸(MotionEvet.ACTION_UP)。但是我无法编码的是当用户将其手指拖出imageView时的动作。如何检测外部拖动的视图触摸?

我见过一个解决方案,告诉在switch语句的开头使用MotionEvent.ACTION_CANCEL,但这不适用于我。

我的代码是下一个:

public boolean onTouch(View v, MotionEvent event) { 
     int action = event.getAction(); 

     switch (action) { 

     case MotionEvent.ACTION_CANCEL: 
     clickOutTransformation(ico); 
     return true; 

     case MotionEvent.ACTION_UP: 
     clickOutTransformation(ico); 

     switch (i) { 
      case 1: 
      fondoApp.setBackgroundResource(R.drawable.back_blue_bubbles_lite); 
      i++; 
      break; 
      case 2: 
      fondoApp.setBackgroundResource(R.drawable.back_espectrum); 
      i++; 
      break; 
      case 3: 
      fondoApp.setBackgroundResource(R.drawable.back_black_and_violet); 
      i++; 
      break; 
      case 4: 
      fondoApp.setBackgroundResource(R.drawable.back_green); 
      i++; 
      break; 
      case 5: 
      fondoApp.setBackgroundResource(R.drawable.back_blur_blue_ed); 
      i = 1; 
      break; 

      default: 
      break; 
      } 
      return true; 

      case MotionEvent.ACTION_DOWN: 
      clickInTransformation(ico); 
      return true; 

      default: 
      break; 

      } 
      return false; 

      } 

使用,如果情况:MotionEvent.ACTION_DOWN缩放和案例MotionEvent.ACTION_UP:按比例缩小到正常大小...

ACTION_DOWN火灾,当你触摸你的屏幕和ACTION_UP火,当你从你的手指脱下视线

+0

这就是它的编程方式...你是什么意思? – JCoder 2014-10-16 16:42:48

+0

尝试你的代码的情况下:MotionEvent.ACTION_MOVE – ashutiwari4 2014-10-17 05:10:33

+0

这运行良好,但我想要的是检测出运动的视图和MotionEvent.ACTION_MOVE对任何手指运动作出反应,即使在视图内 – JCoder 2014-10-17 13:44:15