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

来源:互联网 发布:怎么买老域名 编辑:程序博客网 时间:2024/06/04 19:30

由于安卓系统开源的原因,很多厂家都重写了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退出与进入样式的全部步骤了,方便于以后学习







0 0
原创粉丝点击