You can use View coordinates for define down/up position.
@Override
public boolean onTouch(View v, MotionEvent event) {
float currentX = event.getX();
float currentY = event.getY();
int action = event.getAction();
switch (action & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
startX = currentX;
startY = currentY;
return true;
case MotionEvent.ACTION_MOVE:
moveX = currentX;
moveY = currentY;
return true;
case MotionEvent.ACTION_UP:
upX = currentX;
upY = currentY;
return true;
}
return false;
}
And check:
int top = tv_one.getTop();
int left = tv_one.getLeft();
int width = tv_one.getWidth();
int height = tv_one. getHeight();
RectF tv_one_rect = new RectF(left, top, left + width, top + height);
boolean insideTv_one = tv_one_rect.contains(moveX, moveY);