本文已同步发表到我的微信公众号,扫一扫文章底部的二维码或在微信搜索 “程序员驿站”即可关注,每天都会更新优质技术文章。
使用系统默认效果实现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添加跳转动画实现(这是