界面跳转动画

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);  

















你可能感兴趣的:(Intent,软件技术)