首页 > 解决方案 > 如何为 MotionLayout 调整 GONE 视图的出现方向?

问题描述

见源码https://github.com/suchoX/DraggableView

版本androidx.constraintlayout:constraintlayout:2.0.0-rc1

带有 attr gone(例如 button next_image_view)的视图从底部开始。它是正确的。看屏幕截图

在此处输入图像描述

但是如果更新到 Version androidx.constraintlayout:constraintlayout:2.1.0

视图从左上角开始

在此处输入图像描述

如何解决?

标签: androidandroid-layoutandroid-constraintlayoutandroid-transitionsandroid-motionlayout

解决方案


基本问题是 ConstraintLayout 最终以 0,0 大小 0,0 结束。

有两种可能的解决方案。

  1. 有第三个约束集。所以从正常到隐形然后去消失。
  2. 在 framePosition=99 percentX=0, percentY=0 处创建 KeyPosition 类型的关键帧

第一个淡入淡出过渡到不可见,然后过渡到消失。您可以自动过渡到第二个消失。

第二个说 0 运动,直到你达到最后 1%,此时它们是不可见的。


推荐阅读