2011-10-03 11 views
1

當用戶點擊圖像視圖時,我的應用程序會執行某些操作,當用戶手指向上時,它也會執行某些操作,我的問題是,如何檢查用戶手指何時離開圖像視圖,但仍然按在屏幕上,閃光燈排序的MOUSE_OUT ......到目前爲止,我:Android,MOUSE_OUT?

myImageView.setOnTouchListener(new View.OnTouchListener() { 
      public boolean onTouch(View v, MotionEvent event) { 
       switch (event.getAction() & MotionEvent.ACTION_MASK) { 
       case MotionEvent.ACTION_DOWN: 

       break; 

       case MotionEvent.ACTION_POINTER_DOWN: 

       break; 

       case MotionEvent.ACTION_UP: 

       break; 

       case MotionEvent.ACTION_POINTER_UP: 

       break; 

       case MotionEvent.ACTION_MOVE: 

       break; 
       } 

       return true; 
      } 
     }); 
    } 

回答

0

您將需要捕捉ACTION_MOVE事件,看看他們是否迷路了ImageView範圍之外。

爲了做到這一點,您需要捕獲不在ImageView上的事件,而是在覆蓋它的視圖和周圍區域(因爲ImageView無法看到它自己的邊界之外的交互)。根據您在ImageView附近有多少空間,以及是否有其他要與其直接互動的元素,可能會稍微棘手,因爲您需要在ACTION_DOWN處着手處理哪些元素被觸摸。

+0

謝謝,有沒有辦法獲得觸摸的當前x和y值在動作移動? – beans

+0

[是](http://developer.android.com/reference/android/view/MotionEvent.html#getX())。 – fredley