2015-10-18 5 views

Antwort

-1

normal sind beide Funktionen ein Produkt von verschiedenen API-Ebenen, jetzt in setlslation sollte die API 16 sein, aber für den Offset kann man sie aus der ruhigen früheren API sehen, und der Unterschied zwischen beiden ist, Übersetzung und y, gibt uns eine Wirkung auf den Bildschirm zu bewegen, erfordert nicht aplha drin, aber für den Offset der entscheidende Punkt sein eine Unschärfe-Funktion, wo das alpha ist, das settranslate Beispiel

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXDelta="100%p" android:toXDelta="0%p" 
    android:duration="@android:integer/config_longAnimTime"/> 

, wird eine illution bewegter das schaffen Bildschirm von links nach rechts wo Offset

<offset AlphaAnimation xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromalpha="0.0f" android:toalpha=1.0f" 
    android:duration="@android:integer/config_longAnimTime"/> 

eine Verwischung UI

+0

Danke für Ihre Antwort. Aber laut [this] (http://stackoverflow.com/questions/12590664/what-does-offsetleftandright-exactly-do) ist offsetTopAndBottom nicht dasselbe wie das, was Sie sagen. –

3

offsetLeftAndRight() und offsetTopAndBottom() verändern das Ergebnis des Layout-Pass erstellen, während setTranslationX() und setTranslationY eine zusaetzliche auf dem Layout-Ergebnis ist der Wert 0.

Eine Folge ist standardmäßig Offsetzumischung ist, dass der leftAndRight/TopAndBottom-Offset mit jedem Layout-Durchlauf zurückgesetzt wird (z. B. ausgelöst durch requestLayout()) während die Übersetzung nicht ist.

Mein Verständnis ist, dass offsetLeftAndRight() und offsetTopAndBottom() meist nützlich sind, wenn Sie Ihr eigenes Layout schreiben, während setTranslationX() und setTranslationY generische Methoden sind das Ergebnis eines Layouts zu optimieren.