首页 > 解决方案 > 父高度为 0 而子视图高度 > 0

问题描述

我有一个布局FrameLayoutFrameLayout其中有 2 个RelativeLayout。我将此布局包含在activity_main.xml标签include中。
activity_main.xml是 aMotionLayout并且这个“包含布局”是MotionLayout.
我已经定义了一个ConstraintSet,在这个里面ConstraintSet,我已经定义Constraint了这个“包含布局”(width=match_parent,height=wrap_content,bottomToBottomOfParent)。

在代码中,我RelativeLayout按条件显示/隐藏上面,然后我使用transitionToState转换到上面ConstraintSet。大多数时候,它运行良好,但有时上面的“包含布局”不显示。

我进行了调试(延迟 2 秒以确保视图完全渲染),我发现当“包含布局”未显示时,它的高度为 0,但子视图高度 > 0

parentView.layoutParams.height=-2, -2 <=> WRAP_CONTENT

是否有任何可能导致此问题发生的情况?

标签: androidandroid-motionlayout

解决方案


对于当时正在播放的过渡,请尝试添加

<Transition  ...   motion:layoutDuringTransition="honorRequest" \>

推荐阅读