2011-10-13 47 views
16

我能夠從下到上的動畫,當我去下一個活動,但現在當我按下回來我使用相同的代碼給動畫從上到下的動畫,但它總是從下到上,所以我的問題是如何當我按下Android設備上的按鈕時,從上到下給出動畫?
請在下面找到我的代碼。如何在Android中提供從上到下的動畫?

我在使用Activity轉換爲另一個時使用Intent

overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up); 

和XML是:slide_in_up.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:fromYDelta="100%p" android:toYDelta="0%p" 
android:duration="@android:integer/config_longAnimTime"/> 

和slide_out_up.xml是

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:fromYDelta="0%p" android:toYDelta="-100%p" 
android:duration="@android:integer/config_longAnimTime"/> 

回答

19

只是改變-100到100(除去負)在slide_out_up.xml

@Override 
public void onBackPressed() { 
    finish(); 
    overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim); 
} 
+0

請參考http://stackoverflow.com/questions/9306513/exchange-information-after-bluetooth-pairing-with-authentication-only-android – shyam

+0

嗨hesam..want問另一個問題請參閱上面鏈接,如果你曾經工作wid藍牙..通過藍牙配對2設備後如何啓動交換配置文件信息與授權請求進來通知..並在接受後只交換個人資料信息..我從3天卡在這裏幫助...謝謝 – shyam

+1

嗨shyam,我看到你的鏈接,但不幸的是,我不知道。讓我搜索鄰接它,如果我得到了結果,然後我會告訴你。對不起:) – Hesam

4

您可以覆蓋後退按鈕按下的行爲,並設置要適當的動畫,像這樣:

@Override 
public void onBackPressed() { 
    finish(); 
    overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim); 
} 

更改overridePendingTransition處的動畫,使其符合所需的動畫。

+0

我一樣做ü說,但它是 給予相同的動畫意味着從上到下,但我想從頂部到底部的動畫,當我按下返回按鈕,我顛倒了overridePendingTransition(R.anim.slide_out_up,R.anim.slide_in_up); – shyam

+0

除了我的「slide_out」動畫是'android:fromYDelta =「0%p」android:toYDelta =「100%p」'之外,我和你做的人一樣。它在這裏工作得很好。當你打電話給下一個活動時,你是否將額外的「Intent.FLAG_ACTIVITY_NO_ANIMATION」添加到了你的「Intent」?有沒有動畫發生? – Alesqui

+0

這一個是偉大的 – VVB

5

我只是具有像

向上滑動,100到0和0兩個多個XML文件來實現它 - 100

滑下-100至0和0至100

它可以完美運行。

5

在我的平板電腦4.0.3上工作。

slide_out_up.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" > 

    <translate 
     android:duration="@android:integer/config_mediumAnimTime" 
     android:fromYDelta="0%p" 
     android:toYDelta="-100%p" /> 

</set> 

slide_in_up:XML

<set xmlns:android="http://schemas.android.com/apk/res/android" > 

    <translate 
     android:duration="@android:integer/config_mediumAnimTime" 
     android:fromYDelta="-100%p" 
     android:toYDelta="0%p" /> 

</set> 

style.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <style name="DialogAnimationOutUpInUp"> 
     <item name="android:windowEnterAnimation">@anim/slide_in_up</item> 
     <item name="android:windowExitAnimation">@anim/slide_out_up</item> 
    </style> 

</resources>