CollapsingToolbarLayout标题作为共享元素转换

32

我在活动 A 中有一个 TextView。如何使来自活动 A 的 TextView 和来自活动 B 的 CollapsingToolbarLayout.setTitle() 的标题进行共享元素转换?

是否有一种方法可以从 CollapsingToolbarLayout 的源代码中获取其标题视图的 id

谢谢帮忙!


理论上,您可以在CollapsingToolbarLayout中嵌套一个完全相同位置、颜色和大小的虚拟TextView。然后,在过渡结束后隐藏它,这将产生幻觉。但是我在CollapsingToolbarLayout内部的正确定位方面遇到了问题,相对于底部总是有些不正确。 - WindRider
4
@WindRider 是的,我差不多用同样的方法实现了这个效果。但更好的解决方案是不要在折叠布局中使用嵌入式标题,而是创建自己的 TextView 标题,并使用协调器行为,就像这里所示:https://github.com/saulmm/CoordinatorBehaviorExample,并且可以轻松地将它与共享元素过渡一起使用。 - Augusent
非常感谢你的好建议和示例,十分感激! - WindRider
2个回答

3
我曾遇到类似的问题。我的应用程序有一个CollapsingToolbar,其中包含一张图片,我想分享从普通ListView进入CollapsingToolbar的图片。
您需要创建一个自定义TextView,并将其用作CollapsingToolbar中实际标题的替换。还需要将实际标题设置为空字符串,以便它看起来是隐藏的。
您应该查看这个答案,其中展示了如何在CollapsingToolbar中使用自定义视图和所需的监听器以复制正常标题的动画。它可能看起来不完全相同,但我想不到更好的主意。希望对您有所帮助。

2
您可以将可折叠式工具栏作为动画的目标,这样看起来还不错,但也会动画化“后退”按钮或抽屉指示器,这可能不是您想要的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接