2011-03-30 81 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