getRawX、getRawY与getX、getY、getScrollX、getScrollY,getTop,getLeft区别

1、getRawX、getRawY与getX、getY的区别

这四个方法都返回一个float类型的参数,单位为像素(Pixel)。
getRawX()、getRawY()返回的是触摸点相对于屏幕的位置,
而getX()、getY()返回的则是触摸点相对于View的位置。
这里写图片描述
这里写图片描述

2、View中的getScrollX、getScrollY

getScrollX()与getScrollY()的值由调用View的scrollTo(int x, int y)或者scrollBy(int x, int y)产生

其中scrollTo是将View中的内容移动到指定的坐标x、y处,此x、y是相对于View的左上角,而不是屏幕的左上角。

scrollBy(int x, int y)则是改变View中的相对位置,参数x、y为距离上一次的相对位置。

图:
屏幕中心放置了一个button,而button的内容被放置在了它的左上角
这里写图片描述

调用button的scrollTo(-100, -100)方法,button内的内容被移至相对button左上角(-100,-100)的位置
这里写图片描述

对上图调用scrollBy(-100,-100)方法,button内的内容被移至相对于上图的(-100,-100)位置
这里写图片描述

值得注意的是,当View中的内容向右移动时,getScrollX()的值为负数,同理,向scrollTo与scrollBy的x中传入负数,view中的内容向右移动,反之向左。

View中的内容向下移动时,getScrollY()的值为负数,同理,向scrollTo与scrollBy的y中传入负数,view中的内容向下移动,反之向上。

3、View 提供的获取坐标的方法:都是以父布局的顶边和左边为对比

  • getTop()
    获取到的是View本身的顶边到其父布局顶边的距离

  • getLeft()
    获取到的是View本身的左边到其父布局左边的距离

  • getRight()
    获取到的是View本身的右边到其父布局左边的距离

  • getBottom()
    获取到的是View本身的下边到其父布局顶边的距离

这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值