Android Activity切换动画overridePendingTransition
Android Activity切换动画是指从Activity A 跳转至Activity B的时候,Activity A 有退出动画,Activity B 有进入动画。这个动画的实现很简单,在startActivity(intent)之后调overridePendingTransition ()这个方法就行。比如实现淡入淡出的效果如下:
Intent i = new Intent(ActivityA.this,ActivityB.class);
StartActivity.this.startActivity(i);
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来解决了。
我这里用到的是后退时的切换效果,即什么都没做的情况下:
代码如下,很简单:
[cpp]
@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;
}
}
@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;
}
}
补充:移动开发 , Android ,