无名之辈的Android之路

Android 日志:转场动画笔记

2021-08-27  本文已影响0人  搬码人

Activity之间转场

使用overPaddingTransition
同时设计进入、退出效果动画的xml文件
通过startActivity(Intent())启动
同时别忘了在转场之后的另一个Activity的点击事件中实现finish()方法,使其能转场回来。当然需要动画效果的话也需要配置anim的xml文件。

共享元素切换

你是否有这样的需求:点击某张图片进入另一个页面,就好像这张图片的放大效果。这个可以通过共享元素来实现
ActivityOptions.makeSceneTransitionAnimation(指定activity(通常为this),指定类型(如果为图片:imageView),共享元素的名称(需要在两个共享元素的xml文件中配置,并且名称要一样))
然后再通过startActivity(Intent())启动
在一般的转场动画中,另一个Activity的点击事件一般实现finish(),但在共享动画中最好使用finishAfterTransition()。
finish()和finishAfterTransition()区别:前者是立即切换销毁当前页面,后者是动画完毕之后才转场,使用后者有效果优美的图片放大缩小转场效果。

ActivityOptions中的其他方法:
makeClipRevealAnimation:裁剪效果

其他的转场动画

可以通过window这个属性来设置整个窗口的转场动画
window动画配置必须在View创建完成之前,所以相关代码需放到setContenView前方。
动画设置前需配置window.requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS)
设置进入退出效果
window.enterTransiton = ……
window.exitTransition = ……
……放入转场动画方法
window转场动画方法大致有这些:
Fade(),Slide(),Explode() 这些都需伴随共享元素一起使用

上一篇下一篇

猜你喜欢

热点阅读