2012-12-13 37 views
8

我構建了一個應用程序,其中有很多活動,我希望在它們之間有「從右側滑入/從左側滑出」。Android 4.0(API 14+)中的活動之間的默認轉換

我多次讀取該幻燈片過渡更多的應該是Android的默認,但在設備上,我就轉變發展是淡出默認/淡出(Galaxy Tab的2 7" ,對ICS 4.0)。

有什麼我需要在應用程序級的清單文件中聲明,比如?

我問,因爲否則我會需要添加overridePendingTransition (R.anim.right_slide_in, R.anim.left_slide_out);我所有的轉變,其很多......如果我只是想知道在去那條路前丟失了一些東西

非常感謝

+0

轉換是製造商和主題相關的 –

+0

這哪裏是記錄? – Mirko

+0

好問題,這更多的是實踐經驗。默認轉換不應該被計算在內並且隨着時間和每個設備而改變。如果您對特定轉換有要求,請對其進行硬編碼。這就是我們所做的。 –

回答

7

4+我試圖在設備上沒有答案......,動畫是一個淡入淡出與放大或縮小...

我手動添加的代碼,我想有滑動畫:

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

XML動畫從右至左:

<?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動畫左至右:

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

在你style.xml文件把

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

,並添加

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