Android手势识别

GestureDerector

    在android事件处理一般我们都在OntouchEvent这个函数中处理,但是在这个函数中判断我们是怎么滑的、单击或者双击、比较繁琐,android系统为我们提供了一个手势识别器GestureDerector,这个类是个里面有一些单击,双击,滑动等事件,我们只需要对应重写其中的方法即可。
一个简单的代码实现
步骤:

     1. 定义手势识别器 GestureDetector
     2. 实例化GestureDetector,传入监听器
     3. 在手机屏幕上用户触发的事件是首先到activity的onTouchEvent事件中,我们把事件传递到手势识别器中。
来自手机卫士的一段代码
//定义手势识别器
public GestureDetector gestureDetector;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //实例化手势识别器,并设置监听,根据不同需求重写监听器中的函数
        gestureDetector = new GestureDetector(this,new GestureDetector.SimpleOnGestureListener(){
            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
                //getRawX()相对于整个屏幕来说,以屏幕(0,0)为坐标原点
                //getX()相对于当前控件的左上角为坐标原点
                if((e2.getRawX() - e1.getRawX()) > 200){
                    pre(null);
                    return true;
                }

                if((e1.getRawX() - e2.getRawX()) > 200){
                    next(null);
                    return true;
                }
                return false;
            };
        });
        setview();  
    }
    public abstract void setview();
    public abstract void pre(View view);
    public abstract void next(View view);
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        //把事件传递给手势识别器
        gestureDetector.onTouchEvent(event);
        return super.onTouchEvent(event);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值