Activity场景切换效果的实现以及Scene切换和共享元素的实现

界面Activity切换滑动的效果实现:

1. styles.xml文件中添加下面一行代码,表示激活Activity中元素的过渡效果:

<item name="android:windowContentTransitions">true</item> 

 

2.启动Aty2代码:

startActivity(new Intent(this, Main2Activity.class), ActivityOptions.makeSceneTransitionAnimation(this).toBundle()); 

 

2. aty2中加入入场动画(滑动效果以及时间)

getWindow().setEnterTransition(new Slide().setDuration(2000));  

getWindow().setExitTransition(new Slide().setDuration(2000)); 

淡入淡出效果

getWindow().setEnterTransition(new Fade().setDuration(2000));  

getWindow().setExitTransition(new Fade().setDuration(2000));  

 

 

共享元素效果:

1. 相同控件类型添加android:transitionName="share"属性字符串要一致

2. 启动aty代码startActivity(new Intent(this,Main2Activity.class), ActivityOptions.makeSceneTransitionAnimation(this,view,"share").toBundle());

需要将控件转化为View作为参数view

 

多个共享元素启动代码

startActivity(new Intent(MainActivity.this, thirdAty.class),
        ActivityOptions.makeSceneTransitionAnimation(MainActivity.this, Pair.create(view1,"v1").create(view2 ,"v2")).toBundle());

 

 

 

 

场景切换(scene可以从xml文件中加载)

scene1=Scene.getSceneForLayout(fl,R.layout.scene1,this);
scene2=Scene.getSceneForLayout(fl,R.layout.scene2,this);

Transition transition=new ChangeBounds();
transition.setDuration(DateUtils.SECOND_IN_MILLIS);
transition.setInterpolator(new AccelerateDecelerateInterpolator());
TransitionManager.go(scene1);

//切换

TransitionManager.go(scene2,transition);

 

 

 

场景切换动画(创建一个View圆形出现的动画)

//动画
final Animator animator= ViewAnimationUtils.createCircularReveal(fl,x,y,startRadius,endRadius);

 

  • 1
    点赞
  • 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、付费专栏及课程。

余额充值