【发布时间】:2016-09-01 21:11:12
【问题描述】:
我有活动 A 和 B,有一个共享的元素转换,效果很好,直到:
- 纵向从 A -> B 转换
- 在 B 中,将方向更改为横向
- 反击
- 共享元素不知道从哪里返回,它只是愚蠢地漂浮在它的位置,直到重新进入过渡完成,然后消失
这看起来很尴尬。我理解这是因为最初共享元素连接到 A 的纵向风景,而不是风景之一。有什么办法可以减轻疼痛吗?
我使用与上述完全相同的场景检查了 Google Play 商店应用,从列表中选择了一个应用,然后在方向更改后返回列表。它似乎只是在没有任何动画的情况下弹回列表,但这已经好很多了,因为至少没有损坏的过渡和浮动元素。实现这种行为的方法是什么?
更新:为了清楚起见,以下场景可以完美运行:
- 纵向从 A -> B 转换
- 在 B 中,将方向更改为横向
- 再次改变方向,回到纵向
- 反击
- 共享元素完美完成其工作并返回到 A
所以这不是视图无法在配置更改后继续存在的情况。
【问题讨论】:
-
您的共享元素转换中包含的每个元素是否都有
android:id?你能展示你的代码吗? -
是的,我确实有,如果我在活动 B 中切换回纵向模式,一切正常(因此,双方向更改,首先是纵向,然后返回原始模式),然后再返回 A。请告知,我是否理解问题的原因(在我原来的问题中说明)?
标签: android material-design android-transitions shared-element-transition