Android 转场动画 windowAnimation和ActivityAnimation的区别
来源:互联网 发布:质量好的冬装淘宝店 编辑:程序博客网 时间:2024/06/05 15:30
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 吧
- android转场动画windowAnimation和ActivityAnimation的区别
- Android 转场动画 windowAnimation和ActivityAnimation的区别
- android转场动画windowAnimation和ActivityAnimation的区别
- Android转场动画windowAnimation和ActivityAnimation的区别
- Android 转场动画 windowAnimation和ActivityAnimation的区别
- Android 转场动画 windowAnimation和ActivityAnimation的区别
- android转场动画windowAnimation和ActivityAnimation
- Android-WindowAnimation和ActivityAnimation的区别和使用
- Android Activity和Fragment的转场动画
- Android Activity和Fragment的转场动画
- Android Activity和Fragment的转场动画
- Android Activity和Fragment的转场动画
- Android Activity和Fragment的转场动画
- Android Activity和Fragment的转场动画
- Android Activity和Fragment的转场动画
- Android Activity和Fragment的转场动画
- Android Activity和Fragment的转场动画
- Android Activity和Fragment的转场动画
- 线性表--顺序表(自建顺序表算法库)
- ImageSpan的使用
- IP地址,子网掩码,默认网关,DNS服务器详解
- 短信验证码自动填写
- 第二周项目3-程序的多文件组织
- Android 转场动画 windowAnimation和ActivityAnimation的区别
- OC 内存管理
- 连连看第一更
- MySQL MyISAM/InnoDB
- Andrew Ng机器学习课程9-补充
- Compile、Make和Build的区别
- 体验复杂度
- iOS 生成静态库.a文件
- PHP数据库连接mysql与mysqli的区别与用法