1.左进右出效果
overridePendingTransition(R.anim.left_enteranim,R.anim.left_exitanim);
left_enteranim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
>
<translate
android:duration="300"
android:fromXDelta="100%"
android:toXDelta="0">
</translate>
</set>
left_exitanim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromXDelta="0"
android:toXDelta="-100%">
</translate>
</set>
2 . 左进右出另外一种效果
overridePendingTransition(R.anim.left_enteranim,R.anim.right_exitanim);
left_enteranim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
>
<translate
android:duration="300"
android:fromXDelta="100%"
android:toXDelta="0">
</translate>
</set>
right_exitanim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="300"
android:fromAlpha="1.0"
android:toAlpha="0.5" />
<scale
android:duration="300"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50.0%"
android:pivotY="50.0%"
android:toXScale="0.9"
android:toYScale="0.9" />
</set>
3 上进下出效果
A activity
Intent intent1=new Intent(this,TestDemo2.class);
startActivity(intent1);
//enterAnim 从 100%->0 ,exitAnim 0->-100% 都是向上动画 overridePendingTransition(R.anim.top_enteranim,R.anim.bottom_exitanim);
B activity
@Override
public void finish() {
super.finish();
//down_exitanim 向下动画,0->100% ,top_enteranim 100%->0
overridePendingTransition(R.anim.motivated,R.anim.down_exitanim);
}
top_enteranim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="100%"
android:toYDelta="0"
android:duration="1000">
</translate>
</set>
bottom_exitanim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="0"
android:toYDelta="-100%"
android:duration="1000">
</translate>
</set>
motivated.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="-100%"
android:toYDelta="0"
android:duration="1000">
</translate>
</set>
down_exitanim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000">
<translate
android:duration="1000"
android:fromYDelta="0"
android:toYDelta="100%" />
</set>
4 点击搜索框淡入淡出效果
Intent intent=new Intent(HomePageActivity.this,SearchActivity.class);
v.getContext().startActivity(intent);
// 实现淡入淡出的效果1 overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
遇到的一些问题:
overridePendingTransition(int enterAnim, int exitAnim);
exitAnim 离开动画不可以设置为0 ,否则会在切换过程中有短暂的黑屏;
enterAnim 可以为 0,不影响;
如果设置动画 是交叉移动那么就会有黑屏闪过,最好的是动画同方向移出,或者移动。
overridePendingTransition() 这个方法只能发在startActivity()之后或者是
finish()之后执行。
参考:
http://blog.csdn.net/ss1168805219/article/details/53445063