2017-02-16 101 views
0

我有什麼重提淡入活動和淡出動畫中的Android

我有一個動態主題化支持的應用程序。一切都很好,但是現在在改變主題的時候,我想給它一個淡入淡出的效果,讓主題改變過渡看起來無縫。

我HAV受審

1)我試圖recreate()活動,但這並不適用於任何動畫。

2)我添加了一個窗口動畫,這樣,

<style name="WindowFadeTransition"> 
     <item name="android:windowAnimationStyle">@style/WindowAnimationTransition</item> 
    </style> 

    <style name="WindowAnimationTransition"> 
     <item name="android:windowEnterAnimation">@android:anim/fade_in</item> 
     <item name="android:windowExitAnimation">@android:anim/fade_out</item> 
    </style> 

而且我已經在我的活動應用該樣式。

我使用,

Intent intent = new Intent(getActivity(), SettingsThemeActivity.class); 
getActivity().startActivity(intent); 
getActivity().finish(); 

動畫作品真的很好重開活動,但有一個問題。

的BUG

正如我所應用的窗口動畫的活動本身,每當我打開和關閉活動,動畫觸發器,這不是我想要的。我只希望動畫能夠在我更改主題並調用上述代碼行重新打開該活動時使用。

我知道這很棘手。如何解決這個問題?有任何想法嗎?

+0

嘗試此操作startActivity();調用overridePendingTransition(R.anim.fade_in,R.anim.fade_out); –

+0

這將如何幫助btw?在打開和關閉活動時,我已經有了滑動動畫。所以,不能使用overridePendingTransition()。 –

+0

你在說,你只有在調用activaty的時候才需要動畫!你嘗試刪除 @ android:anim/fade_out

回答

1

試試這個startActivity();請致電overridePendingTransition(R.anim.fade_in,R.anim.fade_out);

+0

實際的解決方案是爲此使用overridePendingTransactions。 –

+0

看到我一開始就告訴過你!別擔心!我編輯了答案!覈實 –