由于安卓系统开源的原因,很多厂家都重写了activity的出现和退出的样式,有些时候为了开发的需要,需要某些activity呈现一定的出现样式,这个时候就需要开发者自己去自定义样式了
自定义Activity的进入和退出效果有两种方法:
一种是通过代码的方式
MainActivity.this.overridePendingTransition(enterAnim,exitAnim)
其中enterAnim是进入的动画,exitAnim是退出时的动画
但是通过这种方法设置Activity的进入和退出动画时需要注意两点:
1:overridePendingTransition必须要紧挨着startActivity和在finish函数调用之后调用
2:他只在Android2.0版本及以上适用
另外一种就是通过在XML中对Activity的主题样式进行定义
1:首先在values/styles文件中定义Activity的样式
<!-- FirstActivity的退出样式 --><style name="FirstActivityExitAnimation" parent="@android:style/Animation.Activity"><item name="android:activityOpenEnterAnimation">@anim/activity_enter</item><item name="android:activityOpenExitAnimation">@anim/activity_exit</item><item name="android:activityCloseEnterAnimation">@anim/activity_enter</item><item name="android:activityCloseExitAnimation">@anim/activity_exit</item></style>
android:activityOpenEnterAnimation:表示Activity进入时的动画
android:activityOpenExitAnimation:表Activity A进入到Activity B时的动画 此时Activity A没有没销毁
android:activityCloseEnterAnimation:表示activi B被finish掉之后Activity A再次进入时的动画
android:activityCloseExitAnimation :表示Activity被销毁时的动画
2:Activity动画的书写(以淡入动画为例)
<!-- firstActivity的自定义主题 --><style name="firstactivityTheme" parent="AppTheme.NoTitleBar"><item name="android:windowAnimationStyle">@style/FirstActivityExitAnimation</item></style>
3:自定义Activity的主题,同样是在values/styles中进行编写
<!-- firstActivity的自定义主题 --><style name="firstactivityTheme" parent="AppTheme.NoTitleBar"><item name="android:windowAnimationStyle">@style/FirstActivityExitAnimation</item></style>
4:写完后在Mainfest文件中对Activity的样式进行配置
如果是在application节点下进行配置的话,则表示改app中的所有Activity都是一样的样式,如果只是想该样式在某一个Activity中起作用的话,那么只需要在对应的Activity中进行配置即可
代码如下:
android:theme="@style/firstactivityTheme"
以上就是自定义一个Activity退出与进入样式的全部步骤了,方便于以后学习
如果觉得《Android中Activity出现与退出的自定义动画》对你有帮助,请点赞、收藏,并留下你的观点哦!