用animation开始活动

我正在尝试使用自定义过渡animation开始一个活动。 到目前为止,我发现的唯一方法是在上一个活动中不使用onPendingTransition(),而是在活动上使用自定义主题,并定义activityOpenEnterAnimation,taskOpenEnterAnimation,windowEnterAnimation或windowAnimationStyle来设置animation。 但是,这些属性都不适合我。 一些实验产生了以下结果 –

如果我将windowAnimationStyle属性设置为定义activityOpenEnterAnimation,taskOpenEnterAnimation,windowEnterAnimation或windowAnimationStyle值的自定义样式,我可以摆脱在活动开始时出现的默认过渡animation。 它不会使用指定的实际值显示过渡animation,但至less不会显示默认animation。

根据这里的参考文档,

我应该能够使用activityOpenEnterAnimation在活动开始时定义一个animation。 但迄今为止没有成功。

有任何想法吗?

我正在使用这个在我目前的项目,这基本上是非常简单的。 在styles.xml中定义一个新的animation样式,如下所示:

<!-- just defines top layer "Animation" --> <style name="Animation" /> <!-- the animations must have been defined in your "anim" folder, of course --> <style name="Animation.MyAwesomeAnimation" parent="android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/myawesomeanimation_enter</item> <item name="android:activityOpenExitAnimation">@anim/hold_long</item> <item name="android:activityCloseEnterAnimation">@anim/hold_long</item> <item name="android:activityCloseExitAnimation">@anim/myawesomeanimation_exit</item> </style> 

然后在主题(themes.xml)中设置此样式:

 <style name="Theme.MyAwesomeTheme" parent="Theme.Default"> <item name="android:windowAnimationStyle">@style/Animation.MyAwesomeAnimation</item> </style> 

然后,您可以在AndroidManifest.xml中简单地将这些主题设置为您喜欢的任何活动:

 <activity android:name=".MyAwesomeActivity" android:theme="@style/Theme.MyAwesomeTheme" /> 

现在,我希望你与活动animation大玩! 😀