2011-03-30 71 views
0

:) 我試圖分開滑動觸摸,但我不能得到正確: - 當用戶滑動屏幕,我想只有幻燈片動態壁紙的onTouchEvent

   public void onTouchEvent(MotionEvent event) { 
        if (event.getAction() == MotionEvent.ACTION_MOVE) {       
         Log.e(Logcat, "1 slide");    
        } 
        else 
        if (event.getAction() == MotionEvent.ACTION_DOWN) {       
         Log.e(Logcat, "1 touch");    
        }   

        super.onTouchEvent(event);      
      } 

謝謝!


編輯

   public void onTouchEvent(MotionEvent event) { 
        if (event.getAction() == MotionEvent.ACTION_MOVE) { 
         slide = true; 
         Log.e(Logcat, "1 slide");    
        } 
        else 
        if (event.getAction() == MotionEvent.ACTION_DOWN) { 
         slide = false;    
        }   
        else if (event.getAction() == MotionEvent.ACTION_UP) 
        { 
         if(!slide) 
         { 
         touch =1; 
         Log.e(Logcat, "1 touch"); 
         } 
        } 

        super.onTouchEvent(event);      
      } 

這不起作用都不是,我得到的是一個數量的幻燈片(甚至在觸摸)的

回答

1

一些僞代碼:

boolean sliding = false; 

ontouch() { 

    if(move){ 
    //might do some time/distance checks for these to run 
    sliding = true; 
    doSlideActions(); 
    }else if(down){ 
    sliding = false; 
    }else if(up){ 
    if(!sliding) doDownAction(); 
    } 
} 
+0

謝謝您!上面的實現沒有奏效:| – Misca 2011-03-31 08:13:42

+0

嗨米斯卡,這就是爲什麼你應該檢查一定的刷卡距離或時間框架,以便幻燈片是真實的。再次想到,您可以保留滑動變量,但將觸摸位置保存在下面,然後在上面檢查當前位置。如果它們之間的距離超過某個值,那麼您有一張幻燈片,否則您有觸摸。 – 2011-04-02 00:48:05

+0

最後一個工作,謝謝:) – Misca 2011-04-03 19:25:32