@Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN: lastX= (int) event.getRawX(); lastY= (int) event.getRawY(); break; case MotionEvent.ACTION_MOVE: int _x= (int) event.getRawX()-lastX; int _y= (int) event.getRawY()-lastY; int left=getLeft()+_x; int top=getTop()+_y; int right=left+getWidth(); int buttom=top+getHeight(); if (left<0){ left=0; right=left+getWidth(); } if (right>screenWidth){ right=screenWidth; left=right-getWidth(); } if (top <0){ top =0; buttom =top+getHeight(); } if (buttom >screenHeight){ buttom=screenHeight; top=buttom-getHeight(); } layout(left,top,right,buttom); lastX= (int) event.getRawX(); lastY= (int) event.getRawY(); break; case MotionEvent.ACTION_UP: break; } return true; }
转载于:https://my.oschina.net/FatWhite/blog/774754