您的位置:首页 > 移动开发 > Android开发

Android中Activity出现与退出的自定义动画

2015-10-28 18:45 513 查看
由于安卓系统开源的原因,很多厂家都重写了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退出与进入样式的全部步骤了,方便于以后学习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: