首页 > 移动平台 > 详细

android 根据距离区分 点击跟滑动事件

时间:2020-02-25 15:35:33      阅读:179      评论:0      收藏:0      [点我收藏+]
      public void onClick(View v) {
                if (isclick)
                    Log.i(TAG, "onclick");
            }
        });
    }

    float distance = 0;
    float start, end;
    boolean isclick = false;
    boolean isFirst = false;

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        super.onTouchEvent(event);
        Log.i(TAG, "onTouchEvent: ");
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                isclick = false;//点击状态清空
                start = event.getX();
                break;
            case MotionEvent.ACTION_MOVE:
                end = event.getX();
                distance = end - start;
                if (isFirst==false&&Math.abs(distance) > 10) {//如果滑动距离大于指定数,并判断是否第一次(解决滑出指定距离又滑入当作是点击事件bug)
                    isFirst = true;
                }
                if(isFirst){//如果首次确认是滑动状态责之后滑动都进入此块代码
                    Log.i(TAG, "move");
                }

                break;
            case MotionEvent.ACTION_UP:
                if (isFirst) {//是滑动状态
                    isclick = false;
                } else {//点击状态
                    isclick = true;
                }
                isFirst = false;//滑动状态清空
                break;
        }
        return true;
    }

 

android 根据距离区分 点击跟滑动事件

原文:https://www.cnblogs.com/libing029/p/12361950.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!