2013-04-05 8 views
6

Was ist der Unterschied zwischen View.getLeft() vs View.getScrollX()? Bitte nicht kopieren und einfügen Definition aus der Dokumentation, weil ich bin es unterAndroid Unterschied zwischen View.getLeft() vs View.getScrollX()

getScrollX()

Return the scrolled left position of this view. 

getLeft()

Left position of this view relative to its parent 

Ich glaube, die für Sie tun 2 Werte sollten gleich sein, aber ein Beispielprogramm von mir, wenn ich View.scrollBy (20, 0) ich sehe, dass getScrollX() 20 zurückgibt und die Ansicht tatsächlich nach rechts verschoben wird, aber getLeft() bleibt Null sein

ich bin verwirrt, denn wenn visuell der Blick nach rechts von 20px, sollte seine linke Position ebenfalls aktualisiert wird gescrollt wird, aber es ist immer noch 0

offensichtlich können sie gleich sonst gibt es nicht sein, besteht keine Notwendigkeit, 2 verschiedene Methoden, die das gleiche Ergebnis

bitte helfen

Antwort

3

getLeft() gibt den Blick auf Position relativ zu seinem zurückzukehren. Wie es gescrollt hat, beeinflusst das überhaupt nicht. Scrollen wirkt sich auf den Inhalt der Ansicht aus, nicht auf deren Position.

ein Zitat aus der Android-Dokumentation über 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(), auf der anderen Seite, können Sie wissen, wie der Inhalt in der Ansicht bewegt hat.

View.scrollBy (20,0) beeinflusst den Inhalt in der Ansicht (wie Unteransichten der Ansicht) und verschiebt die Ansicht nicht relativ zum übergeordneten Element der Ansicht.

Verwandte Themen