我正在开发的应用程序显示图像网格.点击图像时,它会进入详细信息视图.详细信息视图包含一个ViewPager,允许您在网格中的每个图像之间滑动.这是通过传递路径列表(包含网格中的每个图像)以及被点击的图像的偏移来完成的,因此可以将ViewPager设置为最初显示该页面.
在ViewPager中当前偏移页面的Fragment内部进行共享元素转换的最佳方法是什么?网格(RecyclerView)图像应扩展为当前页面中的全屏图像.我看到了推迟和恢复活动转换的能力,因此应用程序将等待显示共享元素转换,直到从磁盘加载图像.但我希望能够使其在视图寻呼机中对正确的页面进行动画处理,并在用户返回时退出到当前页面的任何内容(因为您可以在页面之间滑动).如果您现在滑动到其他页面,则初始页面会回显到网格中.
目前,我使用"image_ [index]"格式的transitionName为视图寻呼机的片段中的每个图像分配.当我启动详细信息活动时,我使用相同的transitionName,索引是偏移量.
与此相关,我也想知道如何使用长按压使涟漪起作用.当您更改视图的激活状态时,它似乎取消了波纹.我想要一种类似于Gmail的效果,其中纹波重新开始并在长按完成后快速完成并触发激活状态.
animation android activity-transition shared-element-transition sharedelementcallback
我对List<View> sharedElementSnapshots传递给SharedElementCallback's onSharedElementStart()和onSharedElementEnd()方法的论点感到困惑.据推测,这些快照视图旨在用作共享元素转换期间的临时占位符.例如,假设活动A显示缩略图图像,活动B显示同一图像的高分辨率版本,需要几秒钟才能加载并显示.快照视图可以暂时用于替代,而不必等待高分辨率图像完成加载.
我很困惑的部分是如何首先使用快照视图.它们应该被添加到活动的视图层次结构中吗?或者也许它们应该被添加到窗口装饰视图中ViewOverlay?无论哪种方式,我看不出它如何可能在这一点上切换过渡共享元素的观点...... onMapSharedElements()被调用之前onSharedElementStart()和onSharedElementEnd(),这意味着过渡名字的共享元素最终映射View旨意已经建立.
任何提示将不胜感激.
android android-5.0-lollipop activity-transition shared-element-transition sharedelementcallback