/** * Initial coordinates * are relative to the control itself coordinates * * x y finger pressed coordinates */private float x = 0, y = 0; @Overridepublic boolean ontouchevent (Moti OnEvent event) {//finger pressed coordinates float DOWNX = 0, DownY = 0;//shifted coordinates after change of value float MoveX = 0, Movey = 0, Changex = 0, Changey = 0;SW Itch (Event.getaction () & Motionevent.action_mask) {Case MotionEvent.ACTION_DOWN:downX = Event.getx ();d owny = 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 () is the coordinates of the parent control float CurrentX = THIS.G EtX () + changex-x;float currenty = this.gety () + changey-y;this.setx (currentx); this.sety (currenty);//Place the moved coordinates at the pressed position do Wnx = Movex;downy = Movey;break;} return true;}
Control follows the finger movement (experience)