在开发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 手势识别(一)
  3. Android 侦测手势的内部类
  4. GestureDetector.OnGestureListener 触摸手势用法
  5. TextView 限制最大行数、最小行数、字数超过“...”表示
  6. Android手势库
  7. 我要一步一步往上爬——Android应用实例笔记(1)—手势

随机推荐

  1. 【移动开发】Android中不用图片资源也能
  2. Android(安卓)ROM分析(1):刷机原理及方法
  3. Apache POI库简化,仅保留hwpf部分(word文
  4. YUV 400 格式图像转换成 ARGB 格式图像中
  5. Android(安卓)Developers:高效的加载大的
  6. 【腾讯优测干货分享】鹅厂专家详解Androi
  7. Android图像处理技术(实现Android中的PS)(二
  8. Android查看调用函数名与行号等信息的日
  9. Android绘图机制与处理技巧(二)——Android
  10. Android之Windows下生成动态库so并打包到