Activity的动画切换效果

本文介绍如何使用Android中的overridePendingTransition方法来自定义Activity间的过渡动画,包括进入和退出动画的设置方式,并提供了Fragment动画的实现方法及解决Activity切换时出现黑屏问题的方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值