控件跟随手指移动(心得)
Posted 凤雏小呆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控件跟随手指移动(心得)相关的知识,希望对你有一定的参考价值。
/** * 初始坐标 * * 都是相对于控件本身的坐标 * * x y 手指按下的坐标 */ private float x = 0, y = 0; @Override public boolean onTouchEvent(MotionEvent event) { // 手指按下的坐标 float downX = 0, downY = 0; // 移动后的坐标 改变的值 float moveX = 0, moveY = 0, changeX = 0, changeY = 0; switch (event.getAction() & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: downX = event.getX(); downY = event.getY(); x = event.getX(); y = event.getY(); break; case MotionEvent.ACTION_MOVE: moveX = event.getX(); moveY = event.getY(); changeX = moveX - downX; changeY = moveY - downY; //this.getX() this.getY() 是在父控件的坐标 float currentX = this.getX() + changeX - x; float currentY = this.getY() + changeY - y; this.setX(currentX); this.setY(currentY); // 将移动后的坐标置为按下的位置 downX = moveX; downY = moveY; break; } return true; }
以上是关于控件跟随手指移动(心得)的主要内容,如果未能解决你的问题,请参考以下文章