【发布时间】:2021-07-23 20:23:18
【问题描述】:
对于动画片段,我想根据提供的输入在运行时声明动画。因为FragmentTransaction.setCustomAnimations只使用静态xml文件,所以我使用Fragment.setEnterTransition,Fragment.setExitTransition(setCustomAnimations不是一个选项)。
我遇到的问题是,当执行“向前”推送动画时,传入的片段预计会滑过传出的片段,而传出的片段会向左滑动(不完全,所以传入的片段会重叠它)。但是,退出的片段被绘制在传入片段的顶部:
对于向后导航,此副作用提供了预期的行为。
我相信这也是setCustomAnimations 和have seen a solution there to swap the top two views of the fragment container 的问题。
但是,由于某种原因,此方法不适用于 Fragment 转换 API。
有没有人遇到过这个问题并找到了解决方案?
【问题讨论】:
-
正在调查更多。如果过渡扩展
Visibility,消失的视图似乎被添加到sceneRoot 的ViewOverlay。这意味着它总是最后绘制在所有内容之上:android.googlesource.com/platform/frameworks/base/+/master/core/…。但是,我不清楚为什么这是不可配置的。也许解决方案根本不使用Visibility,但似乎能够配置出现/消失视图的绘制顺序是抽象应该提供的。
标签: android android-fragments android-transitions