Activity的动画切换效果

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>




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Activity 切换效果通常可以使用 Android 系统提供的四种动画效果来实现,分别是:overridePendingTransition、ActivityOptions、ViewAnimationUtils 和 Transition。具体来说: 1. overridePendingTransition:这是一种简单的 Activity 切换动画效果,可以在 startActivity 或者 finish 方法中调用,用于在当前 Activity 退出或者新的 Activity 进入时添加动画效果。该方法需要传入两个参数,分别是进入和退出时的动画效果。 2. ActivityOptions:这是一种比较灵活的 Activity 切换效果,可以实现一些特殊的切换动画效果,如共享元素动画等。该方法需要传入一个 Bundle 对象,用于指定要添加的动画效果。 3. ViewAnimationUtils:这是一种可以实现圆形揭示动画效果,适用于 Android 5.0 及以上版本的系统。该方法需要传入一个 View 对象、开始和结束的圆形半径以及动画的持续时间。 4. Transition:这是一种比较复杂的 Activity 切换效果,可以实现多种动画效果,如淡入淡出、滑动、缩放等。该方法需要使用 Android 系统提供的 Transition 类实现,并且需要在 XML 文件中定义动画效果。使用时需要在 Activity 中调用 getWindow().setEnterTransition() 和 getWindow().setExitTransition() 方法来指定进入和退出时的动画效果。 以上四种方法都可以用于实现 Activity 切换效果,具体选择哪种方法可以根据实际需求和个人喜好来决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值