自定义视图触摸事件free view

来源:互联网 发布:新版php卡盟排行榜源码 编辑:程序博客网 时间:2024/05/19 15:22

https://github.com/wanglianghai/LightCustomView
1.一个自由移动的view(FreedomView)
//移动视图位置:((View) getParent()).scrollBy(-offsetX, -offsetY);
Parent是报纸(画布),child是放大镜(屏幕)
放大镜看报纸,报纸反向移

//屏幕触摸事件    @Override    public boolean onTouchEvent(MotionEvent event) {        //getX():相对于控件的位置,getRowX():相对于屏幕的位置        int x = (int) event.getX();        int y = (int) event.getY();        switch (event.getAction()) {            case MotionEvent.ACTION_DOWN:                lastX = x;                lastY = y;                break;            case MotionEvent.ACTION_MOVE:                int offsetX = x - lastX;                int offsetY = y - lastY;               /* Log.i(TAG, "onTouchEvent: lastXY:(" + lastX + ", " + lastY + ")"                        + " XY:(" + x + ", " + y + ")");*/               //移动视图位置                layout(getLeft() + offsetX, getTop() + offsetY,                        getRight() + offsetX, getBottom() + offsetY);                break;        }        return true;    }