View.getLeft()与View.getScrollX()之间的Android差异

View.getLeft()与View.getScrollX()之间的Android差异,android,android-widget,android-view,Android,Android Widget,Android View,两者的区别是什么 View.getLeft()与View.getScrollX()的比较? 请不要复制和粘贴文档中的定义,因为我将在下面为您执行此操作 getScrollX() getLeft() 我认为这两个值应该是相同的,但如果我查看的话,这是我的一个示例程序 我看到getScrollX()将返回20,视图实际上被向右移动,但是getLeft()仍然是零 我很困惑,因为如果视图在视觉上向右滚动20px,它的左侧位置也应该更新,但仍然是0 显然,它们不可能是相同的,否则就不需要有两个不同的方法

两者的区别是什么 View.getLeft()与View.getScrollX()的比较? 请不要复制和粘贴文档中的定义,因为我将在下面为您执行此操作

getScrollX()

getLeft()

我认为这两个值应该是相同的,但如果我查看的话,这是我的一个示例程序 我看到getScrollX()将返回20,视图实际上被向右移动,但是getLeft()仍然是零

我很困惑,因为如果视图在视觉上向右滚动20px,它的左侧位置也应该更新,但仍然是0

显然,它们不可能是相同的,否则就不需要有两个不同的方法返回相同的结果

请帮助

getLeft()
返回视图相对于其父视图的位置。它的滚动方式根本不会影响这一点。滚动会影响视图的内容,而不是其位置

android文档中关于getLeft()的引用:

另一方面,
getScrollX()
让您知道视图中的内容是如何移动的

scrollBy(20,0)会影响视图中的内容(与视图的子视图类似),实际上不会相对于视图的父视图移动视图

Return the scrolled left position of this view.
Left position of this view relative to its parent
For instance, when getLeft() returns 20, that means the view is located 20 pixels to 
the right of the left edge of its direct parent.