2012-12-13 10 views
8

ho costruito una domanda con un bel paio di attività e vorrei avere "slide da destra a entrare/slide da sinistra in uscita" transizioni tra di loro.Qual è la transizione predefinita tra le attività in Android 4.0 (API 14+)

ho letto più di una volta che le transizioni diapositiva dovrebbe essere il default di Android, ma sul dispositivo sto sviluppando sulle transizioni sono fade in/fade out di default (Galaxy Tab 2 7" , su ICS 4.0).

c'è qualcosa che ho bisogno di dichiarare a livello di applicazione, ad esempio nel file manifesto?

sto chiedendo perché altrimenti avrei bisogno di aggiungere overridePendingTransition (R.anim.right_slide_in, R.anim.left_slide_out); a tutti i miei transizioni che sono un sacco ... solo chiedendo se io sono manca qualcosa prima di andare su questa strada.

Molte grazie

+0

transizioni sono produttore e il tema dipendente –

+0

Dove si trova questa documentata? – Mirko

+0

Buona domanda, questa è più una questione di esperienza pratica. Le transizioni predefinite non devono essere calcolate e modificate nel tempo e per dispositivo. Se hai un requisito per una transizione specifica, inserisci il codice hardcode. Questo è quello che facciamo. –

risposta

7

Nessuna risposta ... sui dispositivi 4+ ho provato, l'animazione è un fade-in fade-out con zoom in o out ...

ho aggiunto il codice manualmente in cui ho voluto avere la slitta animazione:

//open activity 
startActivity(new Intent(this, MyActivity.class)); 
overridePendingTransition(R.anim.right_slide_in, R.anim.left_slide_out); 

xml animazione destra a sinistra:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:anim/accelerate_decelerate_interpolator" > 

<translate 
    android:duration="300" 
    android:fromXDelta="100%p" 
    android:toXDelta="0" /> 

</set> 

xml animazione sinistra a destra:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:anim/accelerate_decelerate_interpolator" > 

<translate 
    android:duration="300" 
    android:fromXDelta="0" 
    android:toXDelta="-100%p" /> 

</set> 
1

Nella tua style.xml file di mettere

<style name="WindowAnimationTransition"> 
    <item name="android:windowEnterAnimation">@android:anim/slide_in_left</item> 
    <item name="android:windowExitAnimation">@android:anim/slide_out_right</item> 
</style> 

e aggiungere

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    ... 
    <item name="android:windowAnimationStyle">@style/WindowAnimationTransition</item> 
</style> 
Problemi correlati