关于android Activity窗体动画
来源:互联网 发布:琵琶是不是中国 知乎 编辑:程序博客网 时间:2024/06/05 09:28
显而易见,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只能使用在主题中
<applicationandroid: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 吧
这里分享了一篇关于Activity动画的研究博客:http://www.oschina.net/question/97118_34343
-------------------------------------------------2014-12-27新增内容------------
Android布局动画,所谓布局动画并不是指专门作用在ViewGroup上的动画,而是作用到不居中的Child的有序动画
1.LayoutAnimationController --->第三方控件 WheelView的核心部分
ScaleAnimation sa =new ScaleAnimation(0.5f, 1f, 0.5f, 1f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); sa.setDuration(2000); LayoutAnimationController lac = new LayoutAnimationController(sa, 0.5f); lac.setOrder(LayoutAnimationController.ORDER_REVERSE); rootView.setLayoutAnimation(lac);
2.android:animateLayoutChanges="true"
表示布局中childView的的大小改变,删除,增加时的 fade in 或者 fade out的动画
3.android:layoutAnimation="@anim/listview_anim"
android:layoutAnimation 和LayoutAnimationController作用类似,不同点在于,前者定义在xml中,后者使用代码编写
转自 :https://my.oschina.net/ososchina/blog/355239
- 关于android Activity窗体动画
- Android 关于 Activity 之间的切换动画
- Android 关于 Activity 之间的切换动画
- Android 关于 Activity 之间的切换动画
- Android 关于 Activity 之间的切换动画
- 关于Activity切换动画
- Android 关于切换activity刷屏动画的设置
- 【Android】【动画】Activity 进出动画
- Android 动画 Activity切换动画
- android activity 动画切换
- android activity 切换+动画
- Android动画切换Activity
- android activity动画小记
- android Activity 右进右出动画
- Android Activity切换动画
- Android Activity切换动画
- Android Activity跳转动画
- android activity动画实现
- Android Studio开发过程中各种问题
- HIVE中常用函数大全
- 用JavaScript Core向UIWebView中的web页注入native类
- Hello SmartWeb and React
- Android 循环切换图片 ConvenientBanner简单应用
- 关于android Activity窗体动画
- 配置F5负载均衡
- 如何修改WAMP中mysql数据库账号和密码
- [Tomcat]无法使用tomcat6.exe启动服务解决办法
- Android网络图片处理之三层缓存详解
- 跳石板
- C++函数系列篇:函数的默认值+带默认参数的函数
- C++函数系列篇:函数的默认值+带默认参数的函数
- C语言打印九九乘法表