[android API 学习]View 的getLeft(),getX()和getTranslationX()

先来看看官方文档的定义:

public final int getLeft ()
Added in API level 1
Left position of this view relative to its parent.
Returns
The left edge of this view, in pixels.


public float getX ()
Added in API level 11
The visual x position of this view, in pixels. This is equivalent to the translationX property plus the current left property.
Returns
The visual x position of this view, in pixels.


public float getTranslationX ()
Added in API level 11
The horizontal location of this view relative to its left position. This position is post-layout, in addition to wherever the object's layout placed it.
Returns
The horizontal position of this view relative to its left position, in pixels.


这里总共有三种值,

1、left(getLeft()):View相对于父View的左边坐标。

       这个值不会随着View的属性(transitionX和X)改变。

      View在layout的时候,会调用setFrame函数来改变left的值。

     客户端也可以直接调用setLeft来改变left值。

    left值改变后,View的大小也会改变。因为View的大小是right - left。

2、x(getX()): View实际显示的左边坐标。它的值是  translationX + left

3、tanslationX(getTranslationX):View 相对于left的位移。

     属性动画改变的是x和translationX的值,没有改变left的值。


所以,这三个值的关系是:

   x = translationX + left。





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值