android 两个activity实现切换时的滑动效果实现
切换效果主要用到的方法是overridePendingTransition,详解如下:
在startintent 或 finish 的时候调用 getActivity().overridePendingTransition(arg0,arg1)
arg0是设置第二个activity进入的动画,arg1是设置当前activity的退出的动画。
如果想设置两个activity分别是从右进入,和从左进入的效果如下:
第一个设置为getActivity().overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
第二个设置为overridePendingTransition(R.anim.in_from_left, R.anim.out_to_right);
效果设置代码:
1:out_to_left
xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0%p" android:toXDelta="-100%p"
android:duration="250" />
set>
2:in_from_right
xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="100%p" android:toXDelta="0%p"
android:duration="250" />
set>
3:out_to_right
xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0%p" android:toXDelta="100%p"
android:duration="250" />
set>
4:in_from_left
xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="-100%p" android:toXDelta="0%p"
android:duration="250" />
set>
android的x轴位置如下图所示:
默认手机左侧为x轴的零坐标处,每个activity以左侧为当前位置。