2013-04-05 36 views
6

の違いは何ですかView.getLeft()vs View.getScrollX()?私はそれらを考えるAndroidの違いView.getLeft()とView.getScrollX()

getScrollX()

Return the scrolled left position of this view. 

getLeft()

Left position of this view relative to its parent 

の下にあなたのためにそれを行うことについてですので 、ドキュメントからコピー&ペースト定義しないでください2の値は同じである必要がありますが、私の場合は、私のサンプルプログラムです。View.scrollBy(20、0) getScrollX()は20を返し、ビューは実際には右に移動しますが、getLeft()は残ります0にする

視覚的にビューが20ピクセル右にスクロールされている場合、その左の位置が同様に更新されなければならないので、私は、混乱していますが、それは明らかに彼らがそうでなければ存在し、同じにすることはできません、まだ0

です

答えて

3

getLeft()がその親へのビューの位置の相対を返す助けてください同じ結果を返す2種類の方法がありますする必要はありません。どのようにスクロールしても、これには全く影響しません。スクロールは、その位置ではなく、ビューの内容に影響します。

getLeftに関するアンドロイドのドキュメント()からの引用:

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. 

getScrollX()は、他の一方で、あなたはビュー内のコンテンツが移動したかを知ることができます。

View.scrollBy(20,0)は、ビュー内のコンテンツ(ビューのサブビューなど)に影響を及ぼし、実際にはビューの親に対してビューを移動しません。

関連する問題