在开发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;    } }

更多相关文章

  1. android手势翻页效果【转】
  2. Android(安卓)5.1 去掉首次进入沉浸模式的提示
  3. Android之解决ViewPager2+PhotoView滑动图片花屏问题
  4. Crazy Android(安卓)Note Chapter-8
  5. Android(安卓)tabLayout+recyclerView实现锚点定位
  6. android 禁止Viewpager左右滑动功能
  7. Android(安卓)RecyclerView(和SnapHelper) 实现类似ViewPager的
  8. 在android中处理各种触摸事件
  9. Android遍历某个文件夹的图片并实现滑动查看的的Gallery

随机推荐

  1. Android(安卓)应用程序主框架搭建
  2. android的一些属性
  3. android google 分屏 多窗口 popup无法显
  4. android studio version 2.3.3 打包签名V
  5. 春招笔记(十七)--安卓第七部分
  6. 高焕堂《android从程序员到架构师之路》
  7. Android(安卓)9.0 init 启动流程
  8. Eclipse项目导入到android studio
  9. 转:Adapter 从源头开始适配!
  10. Android中Style和Theme的使用