Android Activity切换动画是指从Activity A 跳转至Activity B的时候,Activity A 有退出动画,Activity B 有进入动画。这个动画的实现很简单,在startActivity(intent)之后调overridePendingTransition ()这个方法就行。比如实现淡入淡出的效果如下:

         

  1. Intent i = new Intent(ActivityA.this,ActivityB.class);
  2. StartActivity.this.startActivity(i);
  3. overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);



overridePendingTransition 这个函数会不起作用,总结下,大概是以下三个方面的原因:


 1、android系统版本2.0以下,这个没办法,想其他办法解决切换动画吧。


 2、在ActivityGroup等的嵌入式Activity中,这个比较容易解决,用如下方法就可以了:


    this.getParent().overridePendingTransition 就可以解决。


 3、在一个Activity的内部类中,或者匿名类中,这时候只好用handler来解决了。



我这里用到的是后退时的切换效果,即什么都没做的情况下:


代码如下,很简单:


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.back:
this.finish();
overridePendingTransition(0, R.anim.push_up_out);
break;

default:
break;
}
}