android 手势识别!
16lz
2021-01-26
importandroid.app.Activity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.GestureDetector;importandroid.view.GestureDetector.OnDoubleTapListener;importandroid.view.Menu;importandroid.view.MotionEvent;importandroid.widget.Toast;publicclassMainActivityextendsActivityimplementsGestureDetector.OnGestureListener{privateGestureDetectordetector;protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);detector=newGestureDetector(this,this);detector.setOnDoubleTapListener(newOnDoubleTapListener(){publicbooleanonSingleTapConfirmed(MotionEvente){System.out.println("onSingleTapConfirmed");returnfalse;}publicbooleanonDoubleTapEvent(MotionEvente){System.out.println("onDoubleTapEvent");returnfalse;}publicbooleanonDoubleTap(MotionEvente){System.out.println("onDoubleTap");returnfalse;}});}publicbooleanonTouchEvent(MotionEventevent){System.out.println("onDoubleTap");returndetector.onTouchEvent(event);}publicbooleanonDown(MotionEvente){//Intentintent=newIntent();//intent.setClass(MainActivity.this,StartActivity.class);//startActivity(intent);//finish();//System.out.println("onDown");returnfalse;}publicbooleanonFling(MotionEvente1,MotionEvente2,floatvelocityX,floatvelocityY){if(e1.getX()-e2.getX()>200&&Math.abs(velocityX)>20){//FlingleftSystem.out.println("FlingLeft");Toast.makeText(this,"FlingLeft",Toast.LENGTH_SHORT).show();}elseif(e2.getX()-e1.getX()>200&&Math.abs(velocityX)>20){//FlingrightSystem.out.println("FlingRight");Toast.makeText(this,"FlingRight",Toast.LENGTH_SHORT).show();}elseif(e2.getY()-e1.getY()>200&&Math.abs(velocityY)>20){//FlingdownSystem.out.println("Flingdown");Toast.makeText(this,"Flingdown",Toast.LENGTH_SHORT).show();}elseif(e1.getY()-e2.getY()>200&&Math.abs(velocityY)>20){//FlingupSystem.out.println("Flingup");Toast.makeText(this,"Flingup",Toast.LENGTH_SHORT).show();}returnfalse;}publicvoidonLongPress(MotionEvente){System.out.println("onLongPress");}publicbooleanonScroll(MotionEvente1,MotionEvente2,floatdistanceX,floatdistanceY){if(e1.getX()-e2.getX()>200&&Math.abs(distanceX)>20){//ScrollleftSystem.out.println("ScrollLeft");Toast.makeText(this,"ScrollLeft",Toast.LENGTH_SHORT).show();}elseif(e2.getX()-e1.getX()>200&&Math.abs(distanceX)>20){//ScrollrightSystem.out.println("ScrollRight");Toast.makeText(this,"ScrollRight",Toast.LENGTH_SHORT).show();}elseif(e2.getY()-e1.getY()>200&&Math.abs(distanceY)>20){//ScrolldownSystem.out.println("Scrolldown");Toast.makeText(this,"Scrolldown",Toast.LENGTH_SHORT).show();}elseif(e1.getY()-e2.getY()>200&&Math.abs(distanceY)>20){//ScrollupSystem.out.println("Scrollup");Toast.makeText(this,"Scrollup",Toast.LENGTH_SHORT).show();}System.out.println("onScroll");returnfalse;}publicvoidonShowPress(MotionEvente){System.out.println("onShowPress");}publicbooleanonSingleTapUp(MotionEvente){System.out.println("onSingleTapUp");returnfalse;}publicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.main,menu);returntrue;}}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer