/**
* activity切换动画,必须在startActivity和finish之后调用
* Created by wuxiaojun on 16-11-3.
*/
public class ActivitySlideAnim {
public static void slideInAnim(Activity activity) {
//enter是activity进入动画,exit是activity出去动画 anim_slide_right_out
activity.overridePendingTransition(R.anim.anim_slide_right_in, R.anim.anim_slide_left_out);
}
public static void slideOutAnim(Activity activity) {
//anim_slide_left_out
activity.overridePendingTransition(R.anim.anim_slide_left_in, R.anim.anim_slide_right_out);
}
}
下边是anim文件夹下的xml文件
anim_slide_left_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="200"
android:fromXDelta="-100%p"
android:toXDelta="0" />
</set>
anim_slide_left_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="200"
android:fromXDelta="0"
android:toXDelta="-100%p" />
</set>
anim_slide_right_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="200"
android:fromXDelta="100%p"
android:toXDelta="0" />
</set>
anim_slide_right_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0"
android:toXDelta="100%p"
android:duration="200" />
</set>
之所以不使用theme的方式,是因为当我们在style文件中指定:
<item name="android:windowIsTranslucent">true</item>
设置这个属性的时候,theme的动画失效了,网上也有方式解决,但是亲自测试之后发现没有用,所以自己重新用另外一种方法实现