手势识别,手势识别的应用

2020-10-12 阅读 许凝安整理

内容简介:手势有什么用简单的手势功能(左、右滑动屏幕)在项目中使用,因此下一个import android.content.context;import android.util.d手势...

在做一个项目时用到了简单的手势功能(向左,向右滑切屏),于是简单地封装了下importandroid.content.Context;importandroid.util.DisplayMetrics;importandroid.view.GestureDetector;importandroid.view.GestureDetector.OnGestureListener;importandroid.view.MotionEvent;publicclassGestureHelperimplementsOnGestureListener{privateGestureDetectorgesture_detector;privateintscreen_width;privateOnFlingListenerlistener_onfling;publicstaticabstractclassOnFlingListener{publicabstractvoidOnFlingLeft();publicabstractvoidOnFlingRight();}publicGestureHelper(Contextcontext){DisplayMetricsdm=context.getResources().getDisplayMetrics();screen_width=dm.widthPixels;gesture_detector=newGestureDetector(context,this);}publicvoidsetOnFlingListener(OnFlingListenerlistener){listener_onfling=listener;}publicbooleanonTouchEvent(MotionEventevent){returngesture_detector.onTouchEvent(event);}@OverridepublicbooleanonFling(MotionEvente1,MotionEvente2,floatvelocityX,floatvelocityY){//触发条件://X轴的坐标位移大于FLING_MIN_DISTANCE,且移动速度大于FLING_MIN_VELOCITY个像素/秒finalintFLING_MIN_DISTANCE=(int)(screen_width/3.0f),FLING_MIN_VELOCITY=200;if(e1.getX()-e2.getX()FLING_MIN_DISTANCEMath.abs(velocityX)FLING_MIN_VELOCITY){listener_onfling.OnFlingLeft();}elseif(e2.getX()-e1.getX()FLING_MIN_DISTANCEMath.abs(velocityX)FLING_MIN_VELOCITY){listener_onfling.OnFlingRight();}returntrue;}@OverridepublicbooleanonDown(MotionEvente){returnfalse;}@OverridepublicvoidonLongPress(MotionEvente){}@OverridepublicbooleanonScroll(MotionEvente1,MotionEvente2,floatdistanceX,floatdistanceY){returnfalse;}@OverridepublicvoidonShowPress(MotionEvente){}@OverridepublicbooleanonSingleTapUp(MotionEvente){returnfalse;}}使用方法如下:publicclassTestActivityextendsActivity{privateGestureHelpergh;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_start);gh=newGestureHelper(this);gh.setOnFlingListener(newOnFlingListener(){@OverridepublicvoidOnFlingLeft(){//向左滑动}@OverridepublicvoidOnFlingRight(){//向右滑动}});}@OverridepublicbooleanonTouchEvent(MotionEventevent){returngh.onTouchEvent(event);}}

作者给您推荐的内容
  1. 方法一:在聊天窗口中选择字体选择工具栏=将字体改为宋体或其他字体重新登录;方法二:找到QQ安装文件目录,打开,找到以QQ号命名的文件夹,删除文件夹,重新登录QQ;方法三:将字体改为宋...

  2. 其实制作照片的拼贴是非常容易的一件事情。很多小伙伴可能还不太了解,下面就让小编给大家介绍一下吧。01、打开电脑里面的photoshop软件,然后新建一个如图所示的画布。02、接下来我们选择矩...

  3. directed是什direct3d设置么意思...

  4. 当人们打开电脑或者手机,想听一听音乐来放松自己的时候,应该去哪里找音乐来听呢?这时候可以打开音乐播放器,里面有很多音乐,可是哪一款音乐播放器比较好呢?下面是音乐播放器排行榜...

  5. 删除文件时说在其他程序打开我们将删除不想在系统中使用的文件或应用程序但是,当删除这些文件/程序时,我们会遇到提示“另一个程序正在使用此文件”。我们不能删除它们。那是...

  6. win7系统的本地连接在哪里?与所有其他连接类型一样,本地连接将出现在“网络连接”文件夹中。默认情况下,本地连接始终处于活动状态。Win7系统的本地连接在哪它也是唯一自动创建和激活的连...

  7. 手机不知道什么时候变成了底片色,这很影响我们的正常使用。该怎么让颜色变回来呢?这里就教大家让手机从底片色恢复正常色彩的方法。01、变成了底片色颜色非常难看,所以要调回来。02、首...

  8. 索尼重装系统按哪个键当然,很多朋友对索尼的系统重建方法非常好奇吗?事实上,索尼系统重建的方法并没有大家想象的那么困难,甚至有点简单!你一定对索尼的系统重建非常好奇...

  9. 魅族Flyme账户如何注册呢?请看下面的操作步骤。01、首先,使用搜狗搜索“Flyme”关键字,打开Flyme官网页面。02、接下来,在打开的页面中,点击页面顶部“云服务...

  10. 酷睿i3和i5的区别酷睿I3与最新奔腾g4560的对比;分析奔腾g4560与I3-6100的优劣;英特尔奔腾g4560与I3-6100与I3-6100的老规则相比。首先,让我们看看酷睿四核...