android 滑动监听

1,让 activity实现  OnTouchListener接口;

2.
private GestureDetector  gestureDetector;
在activity中实现以下监听:
gestureDetector =  new GestureDetector(你的activity, onGestureListener);
// 滑动
private GestureDetector.OnGestureListener  onGestureListener =
        new GestureDetector.SimpleOnGestureListener() {
            @Override
            public boolean onFling(MotionEvent e1, MotionEvent e2,  float velocityX,
                                    float velocityY) {
                float x = e2.getX() - e1.getX();
                float y = e2.getY() - e1.getY();

                if (x >  0) {
                    doResult( RIGHT);
                }  else if (x <  0) {
                    doResult( LEFT);
                }
                return true;
            }
        };

public void doResult( int action) {

    switch (action) {
        case  RIGHT:
            if( position !=  0){
                position--;
            }
            System.out.println("go right");
            BitmapUtils bitmapUtilsr = new BitmapUtils(mContext);//xUtils框架加载网络图片
            //  加载网络图片
            bitmapUtilsr.display( mImgViewtbLists.get( position).getImgurl());
            break;

        case  LEFT:
            if( position tbLists.size()- 1){
                position++;
            }
            System.out.println("go left");
            BitmapUtils bitmapUtilsl = new BitmapUtils(mContext);
            //  加载网络图片
            bitmapUtilsl.display( mImgViewtbLists.get( position).getImgurl());
            break;

    }
}
//实现上述方法后,发现滑动无效,经过在网上查找,原来是滑动冲突,重写以下方法就可以了!
  1. @Override  
  2.     public boolean dispatchTouchEvent(MotionEvent ev) {  
  3.         // TODOAuto-generatedmethodstub  
  4.         gestureDetector.onTouchEvent(ev); // 让GestureDetector响应触碰事件  
  5.         super.dispatchTouchEvent(ev); // 让Activity响应触碰事件  
  6.         return false;  
  7.     }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值