2013-11-23 21 views
2

後如何MotionEvent.ACTION_MOVE後調用MotionEvent.ACTION_UP到的Button通話ACTION_UP ACTION_MOVE

下面setOnTouchListener小片段...

slide_button_start.setOnTouchListener(new OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent event) { 


       switch (event.getAction()) { 

       case MotionEvent.ACTION_MOVE: 

        if(!rect.contains(v.getLeft() + (int) event.getX(), v.getTop() + (int) event.getY())){ 

         logIt("OUtSide"); 
         v.clearFocus(); 
         viewPager.bringToFront(); 

         return true; 

        } 
        return false; 

       case MotionEvent.ACTION_DOWN: 


        logIt("Touch...Down"); 

        rect = new Rect(v.getLeft(), v.getTop(), v.getRight(), v.getBottom()); 

        return true; 

       case MotionEvent.ACTION_UP: 

        logIt("UP ha called"); 
        return true; 

       } 

       return false; 
      } 
     }); 

任何回答讚賞.... THKS

+0

還真當行動== ACTION_MOVE – pskink

+0

@pskink是的,但是這並沒有叫ACTION_UP – nitesh

+0

添加ACTION_CANCEL – pskink

回答

1

它看起來像類似的問題this

聽衆已經消耗了ev ENT。所以ACTION_UP不會再被調用。

+0

那麼,什麼是對那 – nitesh

+0

的建議嘗試返回如果條件爲假 – GeorgeChen