2015-10-18 13 views

risposta

-1

in termini normali entrambe le funzioni sono un prodotto di diversi livelli API, ora nella transazione l'api deve essere atlest 16, ma per l'offset si possono vederli da api precedenti e tranquille, e la differenza tra entrambi è, settranslationx e y, ci dà un effetto di spostare lo schermo, non richiede aplha in esso, ma per la sua compensare una funzione sfocatura dove l'alfa è il punto chiave, nell'esempio settranslate

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

, creerà un illution di spostare la schermo da sinistra a destra dove 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"/> 

creerà un'interfaccia utente sfocatura

+0

Grazie per la risposta. Ma come per [questo] (http://stackoverflow.com/questions/12590664/what-does-offsetleftandright-exact-do) offsetTopAndBottom non è lo stesso di quello che dici. –

3

offsetLeftAndRight() e offsetTopAndBottom() alterare il risultato del passaggio di layout, mentre setTranslationX() e setTranslationY aggiungere un offset sulla parte superiore del risultato di layout additionnal, il valore predefinito è 0.

Una conseguenza è che l'offset leftAndRight/TopAndBottom viene resettato con ogni passaggio del layout (es innescato da requestLayout()) mentre la traduzione non è.

mia comprensione è che offsetLeftAndRight() e offsetTopAndBottom() sono per lo più utile se si scrive il proprio layout, mentre setTranslationX() e setTranslationY sono metodi generici per ottimizzare il risultato di un layout.

Problemi correlati