android ontouch和onclick冲突处理

来源:互联网 发布:nginx 启动不了windows 编辑:程序博客网 时间:2024/05/22 09:02

 界面中有一个悬浮控件需要移动,而且也要点击的逻辑处理.当在ontouch返回false,onclick就会消费这个事件,可惜不会控件有无法移动,当返回true,点击事件有无法响应,有个前辈写的好,连接如下:http://my.oschina.net/luozheng/blog/196155?fromerr=AC7UcNhr

public boolean onTouchEvent(MotionEvent event) {        final int action = event.getAction();        final int moveX = (int)event.getX();        final int scape = moveX - firstX;        switch (action) {        case MotionEvent.ACTION_DOWN:            firstX = (int) event.getX();//按下的时候开始的x的位置            break;        case MotionEvent.ACTION_MOVE:            if (isMove) {                move(scape);            }            break;        case MotionEvent.ACTION_CANCEL:                    case MotionEvent.ACTION_UP:            secondX = (int)event.getX();//up的时候x的位置            int distance = secondX - firstX;            if (distance == 0) {                //当没有变化的时候什么都不做            }else {                //执行move滑动后的操作            }            break;        }        return true;    }


0 0