Android转场动画windowAnimation和ActivityAnimation的区别(转)

android转场动画windowAnimation和ActivityAnimation的区别

显而易见,window与Activity本身从名字上就知道不同,但对于项目开发中 windowAnimation和ActivityAnimation的区别必须心领神会。

区别主要如下

1.windowAnimation包括 windowEnterAnimation 和 windowExitAnimation ;ActivityAnimation包含 android:activityOpenEnterAnimation , android:activityOpenExitAnimation , android:activityCloseEnterAnimation 和 android:activityCloseExitAnimation

2.在项目中WindowAnimation的控制权大于Activity的控制权,即在Activity转场过程中,如果同时设置了WindowAnimation和ActivityAnimation,那么 可能(因为这种情况非常多) 只会执行WindowAnimation

3.对于WindowAnimation的定义很简单,在style.xml文件中只需要继承Animation Style即可

   <style name="Animation" parent="@android:style/Animation">
          <!--窗体进入动画-->
        <item name="android:windowEnterAnimation">@anim/slide_left_enter</item>
        <!--窗体退出动画-->
        <item name="android:windowExitAnimation">@anim/slide_right_exit</item>
    </style>

对于Activity,需要继承Animation Activity Style

<style name="FeelyouWindowAnimTheme" parent="@android:style/Animation.Activity">
      <item name="android:activityOpenEnterAnimation">@android:anim/slide_in_left</item>
      <item name="android:activityOpenExitAnimation">@android:anim/slide_out_right</item>
      <item name="android:activityCloseEnterAnimation">@anim/push_right_in</item>
      <item name="android:activityCloseExitAnimation">@anim/push_left_out</item>
</style>
当我们从 A1 启动 A2 时,A1 从屏幕上消失,这个动画叫做 android:activityOpenExitAnimation
当我们从 A1 启动 A2 时,A2 出现在屏幕上,这个动画叫做 android:activityOpenEnterAnimation
当我们从 A2 退出回到 A1 时,A2 从屏幕上消失,这个叫做 android:activityCloseExitAnimation
当我们从 A2 退出回到 A1 时,A1 出现在屏幕上,这个叫做 android:activityCloseEnterAnimation

从上述2中动画的定义上来看,显然ActivityAnimation更为复杂,但这种复杂带来的转场效果非常好,可以同时控制2个Activity的动画,而不像WindowAnimation只能控制下一个Activity的窗体动画。

5.在开发中,窗体动画也可以使用 Activity. overridePendingTransition来设置,也可以定义在主题中,但Activity只能使用在主题中

<application
    android:name="test.view.weitop.BaseApplication"
    android:allowBackup="false"
    android:hardwareAccelerated="false"
    android:icon="@drawable/app_logo"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:theme="@style/Theme.App" >

</application>

6.对于比较追求界面美感的动画,使用ActivityAnimation要好得多,因此对于一般开发使用windowAnimation即可,但对于追求用户体验,那么直接使用Activity Animation 吧

时间: 2024-10-04 13:29:27

Android转场动画windowAnimation和ActivityAnimation的区别(转)的相关文章

Android 转场动画 windowAnimation和ActivityAnimation的区别

android转场动画windowAnimation和ActivityAnimation的区别 显而易见,window与Activity本身从名字上就知道不同,但对于项目开发中 windowAnimation和ActivityAnimation的区别必须心领神会. 区别主要如下 1.windowAnimation包括 windowEnterAnimation 和 windowExitAnimation :ActivityAnimation包含 android:activityOpenEnterA

android转场动画windowAnimation和ActivityAnimation的区别

显而易见,window与Activity本身从名字上就知道不同,但对于项目开发中 windowAnimation和ActivityAnimation的区别必须心领神会. 区别主要如下 1.windowAnimation包括windowEnterAnimation和windowExitAnimation:ActivityAnimation包含android:activityOpenEnterAnimation,android:activityOpenExitAnimation,android:ac

透彻理解android转场动画

欲知天机,跳转下面链接: 分分钟看破android转场动画 版权声明:本文为博主原创文章,未经博主允许不得转载.

高逼格Android转场动画

前言 转场动画在交互上非常有优势,本文从转场动画的使用场景和方法起,最后是实现掘金中用户头像的转场动画. 转场动画适用的版本 Activity transition APIs 只有在Android 5.0(API 21)或者更高的版本上能使用.所以在使用之前需要进行版本判断.当版本API 大于21时使用转场动画,否则不使用. // Check if we're running on Android 5.0 or higher if (Build.VERSION.SDK_INT >= Build.

[转]Android Activity和Fragment的转场动画

Android Activity和Fragment的转场动画 Activity转场动画 Activity的转场动画是通过overridePendingTransition(int enterAnim, int exitAnim)实现的. 这个方法是API Level 5 加入的. 这个方法在startActivity(Intent) or finish()之后被调用,指定接下来的这个转场动画. 方法的第一个参数:enterAnim,是新的Activity的进入动画的resource ID: 第二

Android Activity和Fragment的转场动画

Activity转场动画 Activity的转场动画是通过overridePendingTransition(int enterAnim, int exitAnim)实现的. 这个方法是API Level 5 加入的. 这个方法在startActivity(Intent) or finish()之后被调用,指定接下来的这个转场动画. 方法的第一个参数:enterAnim,是新的Activity的进入动画的resource ID: 第二个参数exitAnim,是旧的Activity(当前的Acti

Android的Fragment的自定义转场动画

Fragment间转场可以使用setTransition()来设置系统默认的转场动画,也可以使用setCustomAnimations()方法来自定义转场动画. getFragmentManager().beginTransaction() //An optional name for this back stack state, or null.addToBackStack()方法的参数如前面所说也可以为null .addToBackStack(null)//将替换的前一个事务添加的有Acti

实现Activity间的共享控件转场动画

实现Activity间的共享控件转场动画 字数1210 阅读1936 评论9 喜欢35 Lollipop中有shared_element可以进行元素在activity之间进行共享,网上已经有很多介绍了,然而目前还有大量的kitkat设备,所以说啊,兼容更重要. 如下的方法,可以实现在旧的手机上实现动画效果.采用了类似于豌豆荚的开眼项目使用的技术.github上可能有在5.0以下的兼容包,但是个人并不推荐使用第三方的UI工具. Preview 实现原理 最近逛业界良心酷安网,发现了豌豆荚的一款叫做

Android自定义Transition动画

本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发. 曾经(或者现在)很多人说起Android和iOS都会拿Android的UI设计来开黑, "你看看人家iOS的设计, 再来看看Android的, 差距怎么就这么大呢?", 对于这种说辞, 可以一句话来总结一下"他们还停留在4.X之前的时代". 自从Android5.0推出Material Design设计规范后, Android在设计上早已甩那个万年不变的iOS好几十条街! 以上纯