Android 屏幕双击事件的捕获简单示例
在Android游戏开发中,我们可能经常要像PC操作一样在屏幕上双击。对于屏幕双击操作,Android1.6版本以前并没有提供完善的手势识别类,Android1.5的SDK中提供了android.view.GestureDetector.OnDoubleTapListener,但经测试无法正常工作,不知是何原因。最终我们的解决方案如下面的代码:
Java代码
publicclassTouchLayoutextendsRelativeLayout{ publicHandlerdoubleTapHandler=null; protectedlonglastDown=-1; publicfinalstaticlongDOUBLE_TIME=500; publicTouchLayout(Contextcontext){ super(context); } publicTouchLayout(Contextcontext,AttributeSetattrs){ super(context,attrs); } publicTouchLayout(Contextcontext,AttributeSetattrs,intdefStyle){ super(context,attrs,defStyle); } publicbooleanonTouchEvent(MotionEventevent){ this.handleEvent(event); if(event.getAction()==MotionEvent.ACTION_DOWN){ longnowDown=System.currentTimeMillis(); if(nowDown-lastDown<DOUBLE_TIME) { if(doubleTapHandler!=null) doubleTapHandler.sendEmptyMessage(-1); }else{ lastDown=nowDown; } } returntrue; } protectedvoidhandleEvent(MotionEventevent){ switch(event.getAction()){ caseMotionEvent.ACTION_DOWN: //Dosth这里处理即可 break; caseMotionEvent.ACTION_UP: //Dosth break; } } }
以上就是对Android屏幕双击的事件捕获的示例代码,后续继续补充相关资料,希望能帮助开发Android应用的朋友。