Android中Activity页面转场,分为5.0之前和5.0之后。当然5.0之前的转场用法在5.0之后依然适用。本次我们先介绍下5.0之前的转场效果,5.0之后的将在下次进行介绍。
其实5.0之前的转场动画是通过public void overridePendingTransition(int enterAnim, int exitAnim)
这个方法来实现转场效果的。其中第一个参数为进入的动画,第二个参数为退出的动画。动画是放在res->anim目录下,其实android自身也帮我们写了很多动画,我们可以通过android.R.anim.xxx进行调用。
我们列一段android.R.anim.fade_in的示例代码:
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@interpolator/decelerate_quad"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_longAnimTime" />
其实我们分析这段代码可以发现其实就是一个透明度渐变的动画。
所谓无图无真相,我们先展示一个我们实现的效果。
可以看到Activity的转场效果为左边进入右边离开,其实现效果为在startActivity(intent);
之后加入了overridePendingTransition(R.anim.slide_in_left,R.anim.slide_out_right);
,这样就实现了从左边进入的效果。而右边出的效果则需要在Activity finish的时候调用overridePendingTransition(R.anim.slide_in_left,R.anim.slide_out_right);
来实现。
其实我们需要哪些效果我们可以根据需求来写我们自己的anim来使用即可。
我在Demo中也写了例子,包括淡入淡出、左进右出、右进左出、中心缩放、上进下出、下进上出等例子。
以上就是对Android 5.0以下转场效果的记录。
国际管理,源码地址:CDemo源码,anim位于CLibrary->res->anim下