我目前正在探索一种有点复杂的 UI,类似于 Google map 中使用的 BottomSheetBehaviour
,其中可以将项目从折叠状态动画化为展开状态。这 2 个状态之间的转换是使用 TransitionManager
框架的场景转换,并且工作得相当好。
我现在正在探索一种方法,将展开的 View 再次拖动到折叠状态,反之亦然,但我没有找到任何明显的手动进行场景转换的方法。
我需要的是这样的:Transition.setAnimatedFraction(0.5f)
基于用户在两种状态之间拖动的百分比。
这里有人知道如何实现吗?
最佳答案
将您的父级 ViewGroup
(无论是 ConstraintLayout
、RelativeLayout
还是其他任何东西)迁移到 MotionLayout
您可以实现这使用 MotionLayout.progress (setProgress(float)
) 和 loadLayoutDescription这使您能够手动处理运动场景中描述的场景转换进度。
请看例子here.
关于android - TransitionManager 手动进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45717215/