【发布时间】:2019-03-25 03:23:41
【问题描述】:
假设我有 2 个片段 A 和 B。每个片段分别包含一个视图 viewA 和 viewB。默认情况下,这两个视图都是隐藏的。
有一个名为 sharedVM 的共享视图模型(链接到活动)
来自用户的事件 A 将用动画显示 viewA 并用动画隐藏 viewB(如果 viewB 可见) 来自用户的事件 B 将用动画显示 viewB 并用动画隐藏 viewA(如果 viewA 可见)
我想:
解决方案 1: 在 sharedVM 中使用 LiveData 状态来了解视图是隐藏还是可见。 但是当片段被销毁并重新创建时: 隐藏/显示动画会再次播放,这不好。
解决方案 2: 在 sharedVM 中使用 LiveDataEvent 来了解调度和触发动画。 但是当片段被销毁并重新创建时: 我不知道视图之前的状态...
什么是更好的方法?
【问题讨论】:
标签: android mvvm fragment android-architecture-components android-livedata