1.TabActivity会与 overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out)发生冲突,实现不了跳转动画。
处理方法:
A. 自定义类
//修改界面跳转的效果
public class AnimationUtil {
/**
* anim中的布局ID
*/
public static int ANIM_IN = 0;
/**
* anim中的布局ID
*/
public static int ANIM_OUT = 0;
- /**
* 通过动画xml文件的id设置需要使用的动画布局文件
*
* @param layoutIn
* @param layoutOut
*/
public static void setLayout(int layoutIn, int layoutOut) {
ANIM_IN = layoutIn;
ANIM_OUT = layoutOut;
}
/**
* 设置id为0
*/
public static void clear() {
ANIM_IN = 0;
ANIM_OUT = 0;
}
}
B.TabActivity处理重写onPause()
@Override
protected void onPause() {
//TabActivity会与界面跳转动画冲突,所以采用此方法
if (AnimationUtil.ANIM_IN != 0 && AnimationUtil.ANIM_OUT != 0) {
super.overridePendingTransition(AnimationUtil.ANIM_IN,
AnimationUtil.ANIM_OUT);
AnimationUtil.clear();
}
super.onPause();
}
C.跳转方法
Intent mainIntent = new Intent(ThreeActivity.this,SearchActivity.class);
AnimationUtil.setLayout(android.R.anim.fade_in,android.R.anim.fade_out);
startActivity(mainIntent);
2.普通处理方法(界面跳转动画)
Intent mainIntent = new Intent(MainActivity.this,TwoActivity.class);
MainActivity.this.startActivity(mainIntent);
overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
也可以自定义出现动画效果:
例如:
overridePendingTransition(
R.layout.aaaa,R.layout.bbbb);