软件编程
位置:首页>> 软件编程>> Android编程>> Android 屏幕双击事件的捕获简单示例

Android 屏幕双击事件的捕获简单示例

作者:lqh  发布时间:2022-08-30 11:02:55 

标签:Android,屏幕双击,事件捕获

在Android游戏开发中,我们可能经常要像PC操作一样在屏幕上双击。对于屏幕双击操作,Android 1.6版本以前并没有提供完善的手势识别类,Android 1.5的SDK中提供了android.view.GestureDetector.OnDoubleTapListener,但经测试无法正常工作,不知是何原因。最终我们的解决方案如下面的代码:

Java代码


public class TouchLayout extends RelativeLayout {  

public Handler doubleTapHandler = null;  

protected long lastDown = -1;  
 public final static long DOUBLE_TIME = 500;  

public TouchLayout(Context context) {  
   super(context);  

}  

public TouchLayout(Context context, AttributeSet attrs) {  
   super(context, attrs);  

}  

public TouchLayout(Context context, AttributeSet attrs, int defStyle) {  
   super(context, attrs, defStyle);  

}  

public boolean onTouchEvent(MotionEvent event) {  
    this.handleEvent(event);  

if (event.getAction() == MotionEvent.ACTION_DOWN) {  
     long nowDown = System.currentTimeMillis();  

if (nowDown - lastDown < DOUBLE_TIME)  
     {  
        if (doubleTapHandler != null)  
          doubleTapHandler.sendEmptyMessage(-1);  

} else {  
       lastDown = nowDown;  
     }  

}  

return true;  

}  

protected void handleEvent(MotionEvent event) {  

switch (event.getAction()) {  
   case MotionEvent.ACTION_DOWN:  
    //Do sth 这里处理即可  
     break;  

case MotionEvent.ACTION_UP:  
     //Do sth  
     break;  
   }  

}  

}
0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com