android - TransitionManager 手动进行

标签 android android-layout material-design android-animation android-transitions

我目前正在探索一种有点复杂的 UI,类似于 Google map 中使用的 BottomSheetBehaviour,其中可以将项目从折叠状态动画化为展开状态。这 2 个状态之间的转换是使用 TransitionManager 框架的场景转换,并且工作得相当好。

我现在正在探索一种方法,将展开的 View 再次拖动到折叠状态,反之亦然,但我没有找到任何明显的手动进行场景转换的方法。

我需要的是这样的:Transition.setAnimatedFraction(0.5f) 基于用户在两种状态之间拖动的百分比。

A drag transition between those 2 states

这里有人知道如何实现吗?

最佳答案

将您的父级 ViewGroup(无论是 ConstraintLayoutRelativeLayout 还是其他任何东西)迁移到 MotionLayout 您可以实现这使用 MotionLayout.progress (setProgress(float)) 和 loadLayoutDescription这使您能够手动处理运动场景中描述的场景转换进度。

请看例子here.

关于android - TransitionManager 手动进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45717215/

相关文章:

java - 从 AlertDialog 获取并比较密码

java - 安卓设计: onDraw() not called after invalidate()

html - 这可能来自哪个 Material Design 库?

android - Activity 转换错误,无法解析符号 '@transition/explode'

Android YouTube api v3 - 方向

android - 使用 gradle 构建时 lint 上的 java.lang.AbstractMethodError

android - 如何指定用于 Android 可穿戴设备的布局?

Android map - 使用布局作为叠加项

css - 使用 bootstrap-4 的 Material 设计输入

android - ClassCastException 发生在 onRestoreInstanceState