本文已同步发表到我的微信公众号,扫一扫文章底部的二维码或在微信搜索 “程序员驿站”即可关注,每天都会更新优质技术文章。
使用系统默认效果实现activity页面跳转,有时候往往不能满足公司伟大设计师的审美要求,因此我们有必要了解一下怎么给activity页面跳转时增加一些动画,以提升我们app的逼格,增加用户体验。
我们知道,activity切换时,无非就是调用startActivity跳转到新的页面和关闭当前界面返回上一界面这两种场景,我们增加的动画也是围绕这两种情况展开的。下面是我总结的一些套路。
第一种,通过在startActivity或Finish时使用overridePendingTransition实现跳转动画。
首先,我们需要在res下新建一个anim文件夹,用于存放我们自定义的动画文件(这里的动画是属于补间动画)。
slide_bottom_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:shareInterpolator="true">
<translate
android:duration="1000"
android:fromXDelta="0"
android:fromYDelta="150%p"
android:toXDelta="0"
android:toYDelta="0">
</translate>
<alpha
android:duration="1000"
android:fromAlpha="0"
android:toAlpha="1"/>
</set>
slide_top_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:shareInterpolator="true">
<translate
android:duration="1000"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="0"
android:toYDelta="-100%p"/>
<alpha
android:duration="1000"
android:fromAlpha="1"
android:toAlpha="0"/>
</set>
从名字我们就知道,slide_bottom_in.xml是代表从底部滑入,slide_top_out.xml是代表从顶部划出。
下面是startActivty处的代码
startActivity(new Intent(this, FirstActivity.class));
overridePendingTransition(R.anim.slide_bottom_in, R.anim.slide_top_out);
点击运行,效果如下:

第二种方式,通过给Application的style添加跳转动画实现(这是设置是全局的--对整个app的activty跳转都会起作用)
首先我们自定义一个style
ActivityInOutAnim

本文介绍了如何为Android应用的Activity页面跳转添加动画,包括使用overridePendingTransition、全局style设置、Fade/Slide/Explode转场动画、共享元素转场等多种方式,并提供了详细的代码示例和效果展示。

619

被折叠的 条评论
为什么被折叠?



