Fragment翻盖动效
  nCnfWwYBFvxj 18天前 23 0

fragment切换动效,基本都是 viewpager+Transformer,但是总有它实现不了的动效,比如从0到3直接过渡,并且过渡需要加上两者的位移效果

慢动作看到,如果是viewpager,从0到3过程是无法直达的,会有0,1,2,3的过渡效果,并且动画时机是不可控的

当然,有个自定义方式可以控制速度,也是借助了 ValueAnimator 才行

不多说,因为意义不大,依然解决不了挨个跳转的问题

只能抛弃viewpager,使用原始的 FragmentManager 进行跳转,并且在跳转时加入自定义动画

如图,假设0切换到3,那么0页面不动,3页面会从右边盖上来,并且从五分之一的位置开始平移过去

 以上是极端操作,正常动画速度是500毫秒,如果中途强制中断跳转需要额外处理

实现流程

1、新建TabPageTransformerUtils,初始化fragment事务,显示默认的tab

2、自定义动画,对fragment的root容器进行过渡处理,执行动画前对翻盖tab页预处理(平移五分之一)

3、动画结束时恢复属性

基本动画实现,此时fragment切换,0-3,0页面不动,3页面翻盖过来

还能加上一行代码,让0也具备平移动效,这样两者之间可以实现同步位移效果

需要注意的是,因为属性动画变更了view的属性,所以stop结束后必须恢复,否则会有两个页面重叠的问题

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 18天前 0

暂无评论

推荐阅读
  co6JretT03bl   2024年03月29日   51   0   0 Android开发
  co6JretT03bl   2024年03月29日   46   0   0 Android开发
  co6JretT03bl   2024年03月22日   62   0   0 Android开发
nCnfWwYBFvxj