246_自定义随意拖拽的控件

来源:互联网 发布:手卷钢琴软件 编辑:程序博客网 时间:2024/06/08 19:38










自定义随意拖拽的控件
其实就是根据我们手指移动,
然后去重新定位这个View




    @Override
    public boolean onTouchEvent(MotionEvent event) {
        switch (event.getAction()) {
            
            //当动作为下落时,获取xy
            case MotionEvent.ACTION_DOWN:
                x1 = (int) event.getX();
                y1 = (int) event.getY();
                break;
            
            //当动作为移动时
            case MotionEvent.ACTION_MOVE:


                //先获取上下左右
                int left = getLeft();
                int top = getTop();
                int right = getRight();
                int bottom = getBottom();


                //获取此时的xy
                int x2 = (int) event.getX();
                int y2 = (int) event.getY();


                //相减获取移动的差值
                int x = x2 - x1;
                int y = y2 - y1;
                
                //重新去定位View
                layout(left + x, top + y, right + x, bottom + y);
                break;
        }
        return true;
    }







0 0
原创粉丝点击