android 拖拽控件移动

 constraintLayout.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {

                    case MotionEvent.ACTION_DOWN:// 获取手指第一次接触屏幕
                        sx = (int) event.getRawX();
                        sy = (int) event.getRawY();
                        break;
                    case MotionEvent.ACTION_MOVE:// 手指在屏幕上移动对应的事件
                        gundong1.pause();
//                        int x = (int) event.getRawX();
//                        int y = (int) event.getRawY();
// 获取手指移动的距离
//                        int dx = x - sx;
//                        int dy = y - sy;
//                        // 得到imageView最开始的各顶点的坐标
//                        int l = inflate.getLeft();
//                        int r = inflate.getRight();
//                        int t = inflate.getTop();
//                        int b = inflate.getBottom();
                        // 更改imageView在窗体的位置
//                        inflate.layout(l + dx, t + dy, r + dx, b + dy);
                        // 获取移动后的位置
                        sx = (int) event.getRawX();
                        sy = (int) event.getRawY();
                        constraintLayout.setY(sy-constraintLayout.getHeight()/2);
                        constraintLayout.setX(sx-constraintLayout.getWidth()/2);
                        break;
                    case MotionEvent.ACTION_UP:// 手指离开屏幕对应事件

                        if (sx>=layout_zhu.getX()&&sx<=layout_zhu.getX()+layout_zhu.getWidth()
                        &&sy>=layout_zhu.getY()&&sy<=layout_zhu.getY()+layout_zhu.getHeight()
                        )
                        {
                           

                        }else{
                          


                        }


                        break;
            }

            return true;
        }
    });

 

android 拖拽控件移动

上一篇:android 动态添加布局 控制位置


下一篇:appium进行元素识别的操作过程