adi*_*yad 40 animation android transition android-activity
我正在尝试使用自定义过渡动画启动活动.到目前为止我发现的唯一方法是在上一个活动中不使用onPendingTransition())是在活动上使用自定义主题并定义activityOpenEnterAnimation,taskOpenEnterAnimation,windowEnterAnimation或windowAnimationStyle来设置动画.但是,这些属性都不适用于我.一些实验产生以下结果 -
如果我将windowAnimationStyle属性设置为某个自定义样式,该样式定义了activityOpenEnterAnimation,taskOpenEnterAnimation,windowEnterAnimation或windowAnimationStyle的值,我可以摆脱在活动开始时发生的默认过渡动画.它不会使用指定的实际值显示过渡动画,但至少不显示默认动画.
根据这里的参考文档,
我应该能够使用activityOpenEnterAnimation在活动开始时定义动画.但到目前为止没有成功.
有任何想法吗?
mre*_*elt 87
我在我当前的项目中使用它,它基本上非常简单.您在styles.xml中定义了一个新的动画样式,如下所示:
<!-- 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>
Run Code Online (Sandbox Code Playgroud)
然后在主题(themes.xml)中设置此样式:
<style name="Theme.MyAwesomeTheme" parent="Theme.Default">
<item name="android:windowAnimationStyle">@style/Animation.MyAwesomeAnimation</item>
</style>
Run Code Online (Sandbox Code Playgroud)
然后,您只需将这些主题设置为AndroidManifest.xml中您喜欢的每个活动:
<activity
android:name=".MyAwesomeActivity"
android:theme="@style/Theme.MyAwesomeTheme" />
Run Code Online (Sandbox Code Playgroud)
现在,我希望您通过活动动画获得巨大乐趣!:-D
| 归档时间: |
|
| 查看次数: |
35847 次 |
| 最近记录: |