在Activity之间转换动画。
2023-05-22
在android系统2.1之后,android增加了方法:overridePendingTransition(int enterAnim, int exitAnim),用来改变Activity之间的转换动画。
从风格上进行改变转换动画动画
这主要是添加到风格文档中进行更改,代码如下:
Xml代码
1. <style name="Theme.Test" parent="@android:style/Theme.Light.NoTitleBar">
2. <item name="android:windowAnimationStyle">@style/Animation.Activity.Testitem>
3. style>
Xml代码
1. <style name="Animation.Activity.Test" parent="@android:style/Animation.Activity">
2. <item name="android:activityOpenEnterAnimation">@anim/activity_open_enteritem>
3. <item name="android:activityOpenExitAnimation">@anim/activity_open_exititem>
4. <item name="android:activityCloseEnterAnimation">@anim/activity_close_enteritem>
5. <item name="android:activityCloseExitAnimation">@anim/activity_close_exititem>
6.
7. <item name="android:taskOpenEnterAnimation">@anim/activity_open_enteritem>
8. <item name="android:taskOpenExitAnimation">@anim/activity_open_exititem>
9. <item name="android:taskCloseEnterAnimation">@anim/activity_close_enteritem>
10. <item name="android:taskCloseExitAnimation">@anim/activity_close_exititem>
11.
12. <item name="android:taskToFrontEnterAnimation">@anim/activity_open_enteritem>
13. <item name="android:taskToFrontExitAnimation">@anim/activity_open_exititem>
14. <item name="android:taskToBackEnterAnimation">@anim/activity_close_enteritem>
15. <item name="android:taskToBackExitAnimation">@anim/activity_close_exititem>
16. style>
只需这样配置,Activity之间的转换动画就可以直接定制。
动态改变程序中的动态转换动画
若系统中还有一些地方需要单独更改动画,则可在程序中更改:
1. 动画从A跳到B:
代码Java
1. startActivity(new Intent(A.this, B.class));
2. n(inAnim, outAnim);
2. 从B回到A的动画:
代码Java
1. finish();
2. n(inAnim, outAnim);
Activity增加了Dialog风格的情况。
如果下面的代码被添加到Activity的样式文档中,那么Dailog的样式就会出现在Activity中:
Xml代码
1. <item name="android:windowIsTranslucent">trueitem>
true
overridePendingTransition()动态设置方法。
总结:Activity之间的动画是用整个界面执行动画(包括状态栏),所以如果你执行向下转换动画,你会看到白色的通知栏,我找不到解决这个问题的办法。
本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。
免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com