Activity之间的切换效果有应用默认的,但是这个切换效果我们也是可以定义的,这里用到的方法主要是:overridePendingTransition(enterAnim, exitAnim);
enterAnim-------Activity被打开始,所需的动画资源id;
exitAnim-------Activity被暂停时,所需的动画资源id;
这个方法必须在startActivity(Intent)或者finish()之后调用,否则无法生效;
Intent intent = new Intent(MainActivity.this, AnimationLayoutActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.animation_trans, R.anim.animation_trans);</span>
当Activity退出时,也可以制定自己的切换效果:
@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.animation_trans, R.anim.animation_trans);
}
Fragment也可以添加切换动画,由于fragment是在API11中引入的新类。因此需要引入support-v4这个兼容包,这个情况下我们可以通过FragmentTransaction中的setCustomAnimation()方法来添加切换动画,并且这个动画需要是View动画,因为属性动画也是在API11新引入的。
今天在写Activity跳转动画时,发现在Activity切换时屏幕会产生一段时间的黑屏,这是由于第二一个Activity加载的数据太多导致的,解决时只需要将第二个Activity的Theme设置成透明的就可以了。
<style name="Transparent" parent="android:Theme.Light">
<!--将Activity的Theme设置成透明-->
<item name="android:windowIsTranslucent">true</item>
</style>