共享元素过渡未显示在顶部

时间:2018-07-12 21:36:47

标签: android android-recyclerview transitions android-transitions

我正在尝试从回收者视图到包含寻呼机的详细信息视图运行共享元素过渡。与此blog post中的内容几乎相同。

一切正常,除了从详细信息到概览的动画被剪辑到概览回收站视图单元格之外。

观看了talk之后,我了解到,除非在活动窗口上将setSharedElementsUseOverlay设置为false,否则过渡将在一切之上的覆盖上运行-如果我理解正确,那么活动的全部内容。因此,过渡或隐藏或裁剪应该是不可能的。

我在项目中同时搜索了setSharedElementsUseOverlaywindowSharedElementsUseOverlay,但没有找到任何东西。默认值应为true。我还尝试在主题和编程方式上将其显式设置为true,但没有任何变化...过渡仍然被裁剪!

我试图通过博客文章中的演示项目进行剪辑,但是也无法-将setSharedElementsUseOverlay设置为false不会造成剪辑。我确保在整个项目中没有任何视图将clipChildrenclipPadding设置为false。

我不知道该怎么办。我尝试调试Android的源代码,但是过渡类非常笨拙,甚至找不到覆盖视图的使用位置。我在项目中所做的唯一一件事就是将clipChildrenclipPadding设置为在层次结构中一直处于错误状态,但这不是我想要的-除了不希望的副作用(即使在执行操作时)它可能会暂时覆盖它,因为它可能会覆盖非默认值的父项),而且在不进行进一步调整的情况下也不会产生我想要的效果,因为现在共享元素的叠加视图会在过渡期间显示在顶部。

好吧,我可以逐步修改示例项目,直到它与我的实际项目相同为止,但这是一个非常繁琐的任务,因为实际项目非常大且复杂。我做了一些看似相关的更改,例如添加了中间视图等等。到目前为止没有成功。

我只是想使用覆盖层。它无法正常工作的原因可能是什么?或者至少我该如何调试?

到目前为止,我已经在Android M和N上重现了这一点。尚未在任何其他版本上进行测试。

0 个答案:

没有答案