共享元素过渡 - 仅对共享视图的可见部分进行动画处理
Posted
技术标签:
【中文标题】共享元素过渡 - 仅对共享视图的可见部分进行动画处理【英文标题】:Shared element transition - animate only the visible part of the shared view 【发布时间】:2018-07-14 10:35:09 【问题描述】:我正在使用类似于 Google 日历的应用程序...
-
有事件,当用户单击一个事件时,事件会增长并且
转换为详细视图。
共享视图(事件)位于 ScrollView 中,因此在某些情况下
指出这些视图可能部分可见。
问题是选择一个部分可见视图,完整视图
首先出现,然后动画开始运行。
这里是问题的捕获:
我可以做些什么来让 Transition 只使用 View 的可见部分来对其进行动画处理?
这是我的过渡:
<changeBounds xmlns:android="http://schemas.android.com/apk/res/android">
<arcMotion android:minimumHorizontalAngle="15"
android:minimumVerticalAngle="0"
android:maximumAngle="90"/>
</changeBounds>
【问题讨论】:
你能在 github 上分享一个具有这种行为的简单项目吗? 【参考方案1】:共享元素绘制在整个视图层次结构之上。您可以通过在您的活动中设置Window#setSharedElementsUseOverlay(false)
来禁用此功能,但这会导致不良影响。更多详情 here 和 YouTube。
更好的解决方案是在 Fragment 之间使用共享元素过渡。更多详情here.
【讨论】:
即使我设置了 setSharedElementsUseOverlay(false) 问题仍然存在。 @OscarMéndez 恐怕,如果没有示例项目,将很难为您提供帮助。唯一有趣的部分是:您的活动(或片段)的布局以及您如何启动它们。只需创建一个虚拟视图并在此处发布它们,这样更好地在 Github 上创建一个示例项目。 当然我会在 github 上创建一个虚拟项目并展开我的问题。以上是关于共享元素过渡 - 仅对共享视图的可见部分进行动画处理的主要内容,如果未能解决你的问题,请参考以下文章