0
点赞
收藏
分享

微信扫一扫

Activity之间的切换动画


从android系统2.1以后,android新增了方法:overridePendingTransition(int enterAnim, int exitAnim),用于改变Activity之间的切换动画。


从样式里进行改变切换动画

这个主要是加在样式文件里进行更改,代码如下:




Xml代码

Activity之间的切换动画_android

 

Activity之间的切换动画_ide_02

Activity之间的切换动画_ide_03


1. <</span>style name="Theme.Test" parent="@android:style/Theme.Light.NoTitleBar">  
2.    <</span>item name="android:windowAnimationStyle">@style/Animation.Activity.Test</</span>item>  
3. </</span>style>




Xml代码

Activity之间的切换动画_android

 

Activity之间的切换动画_ide_02

Activity之间的切换动画_ide_03


1. <</span>style name="Animation.Activity.Test" parent="@android:style/Animation.Activity">  
2.    <</span>item name="android:activityOpenEnterAnimation">@anim/activity_open_enter</</span>item>  
3.    <</span>item name="android:activityOpenExitAnimation">@anim/activity_open_exit</</span>item>  
4.    <</span>item name="android:activityCloseEnterAnimation">@anim/activity_close_enter</</span>item>  
5.    <</span>item name="android:activityCloseExitAnimation">@anim/activity_close_exit</</span>item>  
6.       
7.    <</span>item name="android:taskOpenEnterAnimation">@anim/activity_open_enter</</span>item>  
8.    <</span>item name="android:taskOpenExitAnimation">@anim/activity_open_exit</</span>item>  
9.    <</span>item name="android:taskCloseEnterAnimation">@anim/activity_close_enter</</span>item>  
10.    <</span>item name="android:taskCloseExitAnimation">@anim/activity_close_exit</</span>item>  
11.       
12.    <</span>item name="android:taskToFrontEnterAnimation">@anim/activity_open_enter</</span>item>  
13.    <</span>item name="android:taskToFrontExitAnimation">@anim/activity_open_exit</</span>item>  
14.    <</span>item name="android:taskToBackEnterAnimation">@anim/activity_close_enter</</span>item>  
15.    <</span>item name="android:taskToBackExitAnimation">@anim/activity_close_exit</</span>item>  
16. </</span>style>



只要这样进行配置,那边Activity之间的切换动画都可以进行自定义了


程序里动态的进行改变切换动画

如果程序中还有一些地方需要单独进行更改动画,则可以在程序里进行更改:

1. 由A跳到B的动画:




Java代码

Activity之间的切换动画_android

 

Activity之间的切换动画_ide_02

Activity之间的切换动画_ide_03


1. startActivity(new Intent(A.this, B.class));   
2. n(inAnim, outAnim);





2. 由B回到A的动画:




Java代码

Activity之间的切换动画_android

 

Activity之间的切换动画_ide_02

Activity之间的切换动画_ide_03


1. finish();   
2. n(inAnim, outAnim);



 


加了Dialog样式的Activity的情况

如果在Activity的样式文件里,加入了下面的代码,则Activity就会出现Dailog的样式了:




Xml代码

Activity之间的切换动画_android

 

Activity之间的切换动画_ide_02

Activity之间的切换动画_ide_03

1. <</span>item name="android:windowIsTranslucent">true</</span>item>



true



overridePendingTransition()方法,进行动态进行设置。


总结:Activity之间的动画,是拿整个界面执行动画(包括通知栏),所以如果你执行向下切换动画,会看到白色的状态栏,这个我没有找到解决办法。


举报

相关推荐

0 条评论