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;
        }
    });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM