1.getRawX()与getX()的区别

getRawX():绝对坐标

getX():相对坐标

mBtn_sate.setOnTouchListener(new OnTouchListener()

{

@Override

public boolean onTouch(View v, MotionEvent event)

{

if(event.getAction() == MotionEvent.ACTION_DOWN)

{

Log.e("", "ACTION_DOWN=" + v.toString());

}

else if(event.getAction() == MotionEvent.ACTION_UP)

{

Log.e("", "ACTION_UP=" + v.toString());

}

else if(event.getAction() == MotionEvent.ACTION_MOVE)

{

//getRawX()指控件在屏幕上的X坐标

if(event.getRawX() > v.getLeft() && event.getRawX()  v.getTop() && event.getRawY() 

{

Log.e("", "超出 ");

}

//getX()相对于控件X坐标的距离

if(event.getX()  (v.getRight() - v.getLeft()) || event.getY() > (v.getBottom() - v.getTop()))

{

Log.e("", "越界 ");

}

}

return false;

}

});

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐