android转场动画windowAnimation和ActivityAnimation的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 吧 参考技术A /转场动画将去的方向
animation,此属性将被忽略;/
/动画时你需要的实现
self.tabBar;.
break;。

[self;;
case 2:
animation;
case 1;rippleEffect定义个转场动画
CATransition *animation = [CATransition animation].tag)
case 0.layer addAnimation:没明白(谁明白的说明一下吧)

type:
animation;/cameraIrisHollowClose CATransition类实现层的转场动画.duration = 0.type = @/ or :动画持续的时长;103 吸走的效果
break;;;/
case 4?.type = @.type = @?
animation;
default;。如果在一个自定义的转场动画中指定的过滤器属性:animation forKey;转场动画类型
animation;。

timingFunction.layer addAnimation;
NSString * const kCATransitionFromLeft:
animation;计时函数;/前后翻转效果
animation;];/
case 7;;fromLeft
默认方向是nil;animation
NSString * const kCATransitionFromBottom:///

转场动画是添加给layer的;:

duration:@,从头到尾的流畅度;

说明;---立方体
break;110波纹效果
break;107/逐渐消失
NSString * const kCATransitionMoveIn;/.tabBarController?;。

subtpye有四种类型;animation, it。

type共有四种类型.tabBar;
.type = kCATransitionReveal;pageUnCurl];转场动画持续时间
animation.tabBarController。

/
NSString * const kCATransitionFromTop;:
animation;102翻页下来
break.hidden = YES;
/
/106镜头关
break;When subType is :

NSString * const kCATransitionFade;oglFlip:
animation;/平移(暂且这么称呼吧)
NSString * const kCATransitionReveal:转场动画的类型.tabBar:
animation;/
case 3:
break;.tabBarController.2f;/pageCurl.type = @添加动画 (转场动画是添加在层上的动画)
self;镜头开
break:

NSString * const kCATransitionFromRight!

switch (btn;移入
NSString * const kCATransitionPush;suckEffect
case 5;.type = @:转场动画将要去往的方向;/.timingFunction=UIViewAnimationCurveEaseInOut。

subtype;/
case 6:animation forKey.subtype = kCATransitionFromBottom;//.type = @//cameraIrisHollowOpen .type = @//s the official one;显露
默认类型为kCATransitionFade;101翻页起来
break;.type = @:@。你可以从一组预定义的转换或者通过提供定制的CIFilter实例来指定转场效果:
animation;;cubefromRight本回答被提问者采纳

以上是关于android转场动画windowAnimation和ActivityAnimation的区别的主要内容,如果未能解决你的问题,请参考以下文章

Android中的转场动画以及material-components-android 使用

android转场动画windowAnimation和ActivityAnimation的区别

android转场动画windowAnimation和ActivityAnimation的区别

Android 转场动画源码剖析

Android 转场动画源码剖析

Android 转场动画源码剖析