android getx() 和getrawx()的区别,Android笔记:getRawX()与getX()的区别,手势的屏幕相对坐标与绝对坐标...

本文详细介绍了在Android中,MotionEvent的getRawX()和getX()的区别。getRawX()返回的是触摸事件在屏幕上的绝对坐标,而getX()返回的是相对于视图自身的坐标。通过示例代码展示了如何在OnTouchListener中使用这两个方法来判断手指移动是否超出视图边界。
摘要由CSDN通过智能技术生成

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;

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值