Android 5.x的Activity过渡动画.
来源:互联网 发布:程序员专用键盘 编辑:程序博客网 时间:2024/05/28 15:08
曾经的Android在Activity进行跳转的时候,只是非常生硬的切换,即使通过OverridePendingtransition(int inId,int outId)这个方法给Activity增加一些切换动画,效果也只是差强人意.而在Android 5.X中,Google对动画效果进行了更深一步的诠释,为Activity的转场效果设计了更加丰富的动画效果.
效果晚上下班后补发,GenyMotion蹦了.
Android 5.x提供三种Transition类型:
1.进入:一个进入的过渡动画决定了Activity中的所有的视图怎么进入屏幕.
2.退出:一个退出的过渡动画决定了Activity中的所有的视图怎么退出屏幕.
3.共享元素:一个共享元素过渡动画决定了两个Activities中间的过渡,怎么共享他们的视图.
那么进入和退出动画可以用下面代码去实现:
a中的activity中:
startActivity(intent,ActivityOptions.makeSceneTtransitionAnimation(this),toBundle());b中的activity中:
getWindow().setEnterTransition(new Explode());//进入动画getWindow().setExitTransition(new Explode());//退出动画
进入,退出动画分为:
explode(分解):从屏幕中间进或者出去,移动视图
slide(滑动):从屏幕边缘进入或者出去,移动视图
fade(淡出):通过改变屏幕上视图的不透明度达到添加或者移除视图
下面是共享元素:
changeBounds:改变目标视图的布局边界
changeClipBounds:裁剪目标视图边界
changeTransform:改变目标视图的缩放比例和旋转角度
changeImageTransform:改变目标图片的大小和缩放比例
使用方式:
我们需要在XML文件中将需要共享的控件命名.命名必须要一样,例如我在a中的Button取名为"one"那么b中的Button取名就需要为"one",那么当activity跳转的时候会自动找到相同名字的控件,进行对应的共享动画.
android:transitionName="XXX"然后在启动第二个activity的时候需要:
startActivity(intent,ActivityOptions.makeSceneTransitionAnimation(this,view,"share").toBundle());//这里的share就是自己命名.
GitHub地址:项目地址
- Android 5.x的Activity过渡动画.
- Android 5.X Activity过渡动画,以及漂亮的共享元素效果
- Android Activity间的过渡动画
- Android Activity间的过渡动画
- Activity过渡的动画
- Activity的过渡动画
- Android学习之5.X过渡动画的实现
- android 5.x—过渡动画Transition
- 群英传之Android 5.X过渡动画
- Android 5.X 新特性详解(三)——Activity过渡动画
- Android 5.X 新特性详解(三)Activity过渡动画
- android5.x之Activity过渡动画
- Android动画--Activity过渡动画 Transition
- Android 对Activity设置统一的过渡动画效果
- 修改 Android 中两个Activity的过渡动画
- Android 5.0学习之Activity过渡动画
- Android 5.0学习之Activity过渡动画
- android中Activity过渡动画学习
- Java 用栈处理四则运算
- linux中shell变量$#,$@,$0,$1,$2的含义解释
- C++指针数组,数组指针,数组名,二维数组
- Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory
- IE8 不支持 position:fixed 的简单解决办法
- Android 5.x的Activity过渡动画.
- Error vs Exception
- Objective-C 协议protocol的用法和理解
- 常见数据库的Jdbc连接字符串
- 黑马程序员-----@property参数学习
- 用oncontextmenu事件单禁用右键菜单
- android 关于屏幕的设置(FullScreen、notitle)等等
- MyEclipse 8.6环境搭建Android开发环境 wang
- iOS开发之线程