Android监测手指上下左右滑动屏幕
16lz
2022-06-06
在开发android程序时,有时会需要监测手指滑动屏幕,当手指朝上下左右不同方向滑动时做出不同的响应,那怎么去实现呢?
利用Android提供的手势监测器就可以很方便的实现,直接上代码(已测试通过)
?
publicclass CbMainActivity extendsActivity implements android.view.GestureDetector.OnGestureListener{ //定义手势检测器实例 GestureDetector detector; @Override protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cb_main); //创建手势检测器 detector = newGestureDetector(this,this); } //将该activity上的触碰事件交给GestureDetector处理 publicboolean onTouchEvent(MotionEvent me){ returndetector.onTouchEvent(me); } @Override publicboolean onDown(MotionEvent arg0) { returnfalse; } /** * 滑屏监测 * */ @Override publicboolean onFling(MotionEvent e1, MotionEvent e2, floatvelocityX, floatvelocityY) { floatminMove = 120; //最小滑动距离 floatminVelocity = 0; //最小滑动速度 floatbeginX = e1.getX(); floatendX = e2.getX(); floatbeginY = e1.getY(); floatendY = e2.getY(); if(beginX-endX>minMove&&Math.abs(velocityX)>minVelocity){ //左滑 Toast.makeText(this,velocityX+"左滑",Toast.LENGTH_SHORT).show(); }elseif(endX-beginX>minMove&&Math.abs(velocityX)>minVelocity){ //右滑 Toast.makeText(this,velocityX+"右滑",Toast.LENGTH_SHORT).show(); }elseif(beginY-endY>minMove&&Math.abs(velocityY)>minVelocity){ //上滑 Toast.makeText(this,velocityX+"上滑",Toast.LENGTH_SHORT).show(); }elseif(endY-beginY>minMove&&Math.abs(velocityY)>minVelocity){ //下滑 Toast.makeText(this,velocityX+"下滑",Toast.LENGTH_SHORT).show(); } returnfalse; } @Override publicvoid onShowPress(MotionEvent arg0) { // TODO Auto-generated method stub } @Override publicboolean onSingleTapUp(MotionEvent arg0) { // TODO Auto-generated method stub returnfalse; } @Override publicvoid onLongPress(MotionEvent arg0) { // TODO Auto-generated method stub } @Override publicboolean onScroll(MotionEvent e1, MotionEvent e2, floatvelocityX, floatvelocityY) { returnfalse; } }
更多相关文章
- android手势翻页效果【转】
- Android(安卓)5.1 去掉首次进入沉浸模式的提示
- Android之解决ViewPager2+PhotoView滑动图片花屏问题
- Crazy Android(安卓)Note Chapter-8
- Android(安卓)tabLayout+recyclerView实现锚点定位
- android 禁止Viewpager左右滑动功能
- Android(安卓)RecyclerView(和SnapHelper) 实现类似ViewPager的
- 在android中处理各种触摸事件
- Android遍历某个文件夹的图片并实现滑动查看的的Gallery