首页
JAVA笔记
数据库笔记
混乱记忆
小站记
您现在的位置
android activity 切换动画的两种实现方式
简介: android activity 超简单实现方式,这里主要介绍 overridePendingTransition 方式和 android:theme 样式动画方式,他们都能实现 activity 进入动画和 activity 退出动画。

activity 切换动画其实很简单,这里给大家提供两种实现方案。

首先我们需要先在 anim 目录定义两个动画,分别是 activity 进入动画 activity 退出动画

activity_in_right.xml 的内容如下:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="3000"
        android:fromXDelta="100%"
       
        android:toXDelta="0" />

    <alpha
        android:duration="3000"
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />

</set>

activity_out_left.xml 的内容如下

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="3000"
        android:fromXDelta="0"
        android:toXDelta="-100%" />

    <alpha
        android:duration="3000"
        android:fromAlpha="1.0"
        android:toAlpha="0.0" />

</set>

 

java 代码方式实现 activty 切换

只需要在调用 startActivity 和 finish 之后调用 overridePendingTransition(R.anim.activity_in_right, R.anim.activity_out_left)  即可。

注:使用该方法时在activity 返回时并未执行动画效果,原因不明!

 

android:theme 方式实现 activity 切换

在使用这种方法时我们还需要定义一个 style 配置文件来配置动画,并且通过 android:theme 属性为 application 或 activity 指定动画配置即可。

style.xml 内容如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AnimationWindow">
        <item name="android:windowAnimationStyle">@style/test</item>
    </style>
    <style name="test" parent="@android:style/Animation.Activity">
        <item name="android:activityOpenEnterAnimation">@anim/activity_in_right</item>
        <item name="android:activityOpenExitAnimation">@anim/activity_out_left</item>
        <item name="android:activityCloseEnterAnimation">@anim/activity_in_right</item>
        <item name="android:activityCloseExitAnimation">@anim/activity_out_left</item>
    </style>
</resources>

为整个app 的activity 配置动画

  <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
         android:theme="@style/AnimationWindow">

为单独的 activity 配置动画

<activity android:name="org.xiaoyunduo.MyDemos"
            android:theme="@style/AnimationWindow"
            >

 

推荐:推荐使用 android:theme 的方式来配置activity 的进入退出动画