登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

酷炫的Activity切换动画,打造更好的用户体验

[复制链接]
来自: MrlLee 分类: Android精品源码 上传时间: 2016-6-15 17:36:07
Tag:酷炫 Activity 切换 动画
立即下载
收藏

项目介绍:

毫无疑问,动画效果能提高用户体验。我们平时使用最多的动画基本上是属性动画和补间动画了,属性动画很强,基本能定制我们想要的动画,但是你是否知道,API 21(5.0)后系统内置了Activity之间的切换动画,而且非常酷炫,今天我跟大家一起分享一下。我们知道,在两个Activity之间切换,我们一般会写出类似下面的代码:
[Java] 查看源文件 复制代码
Intent intent=new Intent(this,SecondActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.enter_anim,R.anim.exit_anim);
.在API 21以后,我们可以使用内置的Activity切换动画啦。但是这样也就意味着只能兼容5.0之后的系统
先看看第一个Activity,退出时用的是Explode效果,第二个Activity进入时用的是Slide效果。这些效果无需我们自己去实现,都是内置的效果,我们所编写的代码几乎为零,接下来我们一一看看内置了哪些效果。
1 使用内置Activity之间切换动画代码步骤Activity之间的切换期间,对于某个Activity来说,无非就是“进入”和“退出”两种情景下的动画。而“进入”分为“第一次进入Activity”和“返回当前Activity”这两种情况。另外系统还提供了一种动画,即共享元素,这是让两个Activity中的View有个过渡切换的效果。执行动画的状态如下所示:
enter:用于决定第一次打开当前Activity时的动画
exit : 用于决定退出当前Activity时的动画
reenter: 用于决定如果当前Activity已经打开过,并且再次打开该Activity时的动画
shared elements:用于决定在两个Activity之间切换时,指定两个Activity中对应的View的过渡效果
那么应该怎么去使用Activity切换动画呢?我们看看使用步骤:
1.首先在setContentView()之前执行,用于告诉Window页面切换需要使用动画
[Java] 查看源文件 复制代码
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);

2.接下来就是加载切换动画
其中R.transition.explode就是要执行的动画,是在res/transition目录下的xml文件,我们使用的是系统内置的Explode效果动画,关于怎么去写explode.xml,我们接下来小节去讲解。
[Java] 查看源文件 复制代码
Transition explode = TransitionInflater.from(this).inflateTransition(R.transition.explode);

3.告诉Window,当前的Activity在什么情况下使用上面的动画
上面我们创建好了切换动画,接下来就是要告诉当前窗口,在什么情况下去使用动画效果啦,你可以根据你的需求在不同的切换情景中选择不同的效果:
[Java] 查看源文件 复制代码
//退出时使用
getWindow().setExitTransition(explode);
//第一次进入时使用
getWindow().setEnterTransition(explode);
//再次进入时使用
getWindow().setReenterTransition(explode);

当然了,你也可以不使用代码的方式,直接在你使用的主题
我来说两句
所有评论(28)
浪子灬 2016-6-16 10:23:03
正需要啊,感谢楼主无私分享!
回复
youke56 2016-6-16 10:55:43
mark
回复
Oo未知oO 2016-6-16 17:51:54
很给力,安卓巴士有你更精彩!
回复
tom_bibiyang 2016-6-16 18:04:14
楼主V5,安卓巴士有你更精彩!
回复
yinhubc 2016-6-16 18:13:47
感谢分享,mark!
回复
aibus 2016-6-17 11:11:56
相当不错,感谢无私分享精神!
回复
bayou 2016-6-17 11:43:32
膜拜大神~
回复
1234下一页
上传代码
查看数:1772 收藏数:5 下载数:16 点赞数:1
状态:已购或VIP 售价:10(原价:10)金钱 下载权限:初级码农 
代码贡献英雄榜
用户名 下载数
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,769657487



联系我们
关闭
合作电话:
15618560077
Email:
805941275@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 广东互联网违法和不良信息举报中心|中国互联网举报中心|下载客户端|申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )