Android随手指移动的DragView(一)——获取偏移量

来源:互联网 发布:朽木充栋梁网络剧全集 编辑:程序博客网 时间:2024/06/07 11:18

想要DragView随着手指移动首先得获取偏移量,获取偏移量一般有2种思路。

(1),通过event.getX()。

    @Override    public boolean onTouchEvent(MotionEvent event)    {        int x = (int) event.getX();        int y = (int) event.getY();        switch (event.getAction())        {            case MotionEvent.ACTION_DOWN:                mLastX = x;                mLastY = y;                break;            case MotionEvent.ACTION_MOVE:                int offsetX = x - mLastX;                int offsetY = y - mLastY;                //TODO在这里处理其他逻辑                break;            case MotionEvent.ACTION_UP:                break;        }        //注意这里得返回true,或者给DragView加上android:clickable=true。        return true;    }

(2),通过event.getRawX()。

     @Override    public boolean onTouchEvent(MotionEvent event)    {        int rawX = (int) event.getRawX();        int rawY = (int) event.getRawY();        switch (event.getAction())        {            case MotionEvent.ACTION_DOWN:                mLastRawX = rawX;                mLastRawY = rawY;                break;            case MotionEvent.ACTION_MOVE:                int offsetX = rawX - mLastRawX;                int offsetY = rawY - mLastRawY;                //TODO在这里处理其他逻辑                //与第一种方法的不同之处                    mLastRawX= rawX;                mLastRawY= rawY;                break;            case MotionEvent.ACTION_UP:                break;        }        return true;    }
0 0
原创粉丝点击