2013-10-09 73 views
2

我創建了一些自定義轉換,因此當單擊按鈕時,頁面會滑入和滑出。這適用於輸入頁面(從左向右滑動)和單擊後退按鈕(從右向左滑動)時的效果,但在操作欄中單擊「向上」按鈕時,頁面會從左側滑動到正確的時候我希望它像按下後退按鈕。以下是我在styles.xml文件中使用的代碼:向上導航 - 轉換不會從右向左滑動

<style name="YourAnimation.Activity" parent="@android:style/Animation.Activity"> 
    <item name="android:activityCloseEnterAnimation">@anim/slide_in_left</item> 
    <item name="android:activityCloseExitAnimation">@anim/slide_out_right</item> 
    <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item>  
    <item name="android:activityOpenExitAnimation">@anim/slide_out_left</item> 
</style> 

任何幫助,將不勝感激。謝謝!

回答

1

您可以嘗試使用overridePendingTransition(),但每次切換活動時都必須插入它。

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: 
     super.onBackPressed(); 
     overridePendingTransition(R.anim.enterAnim, R.anim.exitAnim); 
     return true; 
... 

你想也可能要檢查你如何實現onClick()了上行按鈕。在這裏,我打電話super.onBackPressed(),其中調用finish()的活動。

+2

通過這樣做,您正在向上導航按鈕功能完全像後退按鈕。我認爲這是錯誤的行爲,因爲向上導航應該轉換到Task的頂部,因爲後退導航只是將現有活動從堆棧中彈出。 – toobsco42