在 Android 中使用淡入淡出动画重新打开 Activity
Reopen Activity with Fade In and Fade Out Animation in Android
我有什么
我有一个支持动态主题的应用程序。一切都很好,但现在在更改主题时我想给它一个淡入和淡出效果,使主题更改过渡看起来无缝。
我尝试了什么
1) 我已尝试 recreate()
activity,但没有应用任何动画。
2) 我添加了一个window动画,像这样,
<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>
而且我已经在 activity 中应用了样式。
我重新打开 activity 使用
Intent intent = new Intent(getActivity(), SettingsThemeActivity.class);
getActivity().startActivity(intent);
getActivity().finish();
动画效果很好,但有问题。
错误
因为我已经将 window 动画应用到 activity 本身,每当我打开和关闭 activity 时,动画就会触发,这不是我想要的。我希望动画仅在我更改主题并调用上面的代码行重新打开 activity.
时起作用
我知道这有点棘手。如何解决这个问题?有什么想法吗?
在 startActivity() 之后试试这个;致电 overridePendingTransition(R.anim.fade_in,R.anim.fade_out);
我有什么
我有一个支持动态主题的应用程序。一切都很好,但现在在更改主题时我想给它一个淡入和淡出效果,使主题更改过渡看起来无缝。
我尝试了什么
1) 我已尝试 recreate()
activity,但没有应用任何动画。
2) 我添加了一个window动画,像这样,
<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>
而且我已经在 activity 中应用了样式。
我重新打开 activity 使用
Intent intent = new Intent(getActivity(), SettingsThemeActivity.class);
getActivity().startActivity(intent);
getActivity().finish();
动画效果很好,但有问题。
错误
因为我已经将 window 动画应用到 activity 本身,每当我打开和关闭 activity 时,动画就会触发,这不是我想要的。我希望动画仅在我更改主题并调用上面的代码行重新打开 activity.
时起作用我知道这有点棘手。如何解决这个问题?有什么想法吗?
在 startActivity() 之后试试这个;致电 overridePendingTransition(R.anim.fade_in,R.anim.fade_out);