Actiivty设置统一过渡动画

来源:互联网 发布:腾讯人工智能开放平台 编辑:程序博客网 时间:2024/06/12 21:25
我们知道为activity设置过渡动画可以在startActivity()或finish() 后重写下面方法设置过渡动画,

//overridePendingTransition(R.anim.activity_in, R.anim.activity_out);

如果需要为activity设置统一的过渡动画则需要在androidmainfest.xml中设置appplication下设置自己的AppTheme,

1:在styles中添加主题


    <style name="AppTheme" parent="android:Theme.Light">
//设置属性
        <item name="android:windowAnimationStyle">@style/windowEnterExitAnimation</item>
    </style>


//添加动画

<style name="windowEnterExitAnimation" parent="android:style/Animation.Activity">
        <item name="android:activityOpenExitAnimation">@anim/activity_in</item>
        <item name="android:activityOpenEnterAnimation">@anim/activity_in</item>
        <item name="android:activityCloseExitAnimation">@anim/activity_out</item>
        <item name="android:activityCloseEnterAnimation">@anim/activity_in</item>
    </style>

需要继承自android:style/Animation.Activity,

  • 当我们从 A1 启动 A2 时,A1 从屏幕上消失,这个动画叫做 android:activityOpenExitAnimation
  • 当我们从 A1 启动 A2 时,A2 出现在屏幕上,这个动画叫做 android:activityOpenEnterAnimation
  • 当我们从 A2 退出回到 A1 时,A2 从屏幕上消失,这个叫做 android:activityCloseExitAnimation
  • 当我们从 A2 退出回到 A1 时,A1 出现在屏幕上,这个叫做 android:activityCloseEnterAnimation


2:下面是一个简单的动画效果,出现时从左到右,离开时从左到右

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="3000">

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

</set>


//离开时从左到右

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


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


</set>


0 0
原创粉丝点击