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

看到我一开始就告诉过你!别担心!我编辑了答案!核实 –