OR博客
【安卓共享元素动画】Gallery
OrdinaryRoad
创建于:2020-08-05 14:21:58
0
26
123
0
activity A中的banner到activity B中的viewpager,当B滑动后再返回A,A应该在动画结束前移动到B中的位置
# 问题 activity A中的banner到activity B中的viewpager,当B滑动后再返回A,A中的banner还是原先进入B的时候的位置,导致图片闪动,体验很不好。 # 我的解决方法 在B的preFinish方法中发送一个Event,A接受Event后让banner移动到B中的position **Activity A:** 注意这里要**延迟一段时间后**再setCurrentItem,否则会影响原先的共享元素的动画,我选择的是100ms,效果很好。 ``` @Subscribe(threadMode = ThreadMode.MAIN) fun onGalleryActivityExit(galleryActivityExit: GalleryActivityExit) { currentItem = galleryActivityExit.currentItem Http.handler.postDelayed({ banner.setCurrentItem(currentItem + 1, false) banner.indicator.indicatorConfig.currentPosition = currentItem }, 100) } ``` **Activity B:** ``` override fun preFinish(): Boolean { EventBus.getDefault().post(GalleryActivityExit(currentItem)) return true } ```
评论
楼主暂时不想被别人评论哦~