2012-12-13 29 views
8

Zbudowałem aplikację z wieloma czynnościami i chciałbym mieć "przejścia od prawej do wejścia/slajdu od lewej na wyjściu" przejścia między nimi.Jakie jest domyślne przejście między działaniami w systemie Android 4.0 (API 14+)?

czytam więcej niż kiedyś, że przejścia slajdów powinien być Android domyślnie, ale na urządzeniu Zajmuję na przejściach są pojawiania się/zanikania domyślnie (Galaxy Tab 2 7" , na ICS 4.0).

Czy coś muszę zadeklarować na poziomie aplikacji, na przykład w pliku manifestu?

pytam, bo w przeciwnym razie muszę dodać overridePendingTransition (R.anim.right_slide_in, R.anim.left_slide_out); do wszystkich moich przejściach, które są dużo ... po prostu zastanawiasz się, czy jestem brakuje czegoś przed tą drogą.

Wielkie dzięki

+0

Przejścia są producentem i motyw zależny –

+0

Gdzie jest to udokumentowane? – Mirko

+0

Dobre pytanie, to bardziej kwestia praktycznego doświadczenia. Domyślne przejścia nie powinny być liczone i zmieniały się w czasie i na urządzeniu. Jeśli masz wymóg konkretnego przejścia, zakoduj go. Właśnie to robimy. –

Odpowiedz

7

... Brak odpowiedzi na urządzeniach 4+ próbowałem, animacja jest Fade-in zejścia z przybliżyć lub oddalić ...

dodałem kod ręcznie, gdzie chciałem mieć slajd animacja:

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

xml animacja prawej do lewej:

<?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> 

animacja xml lewej do prawej:

<?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

W swojej style.xml pliku umieścić

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

i dodać

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