Android 将包装内容视图的高度膨胀为 0dp

Android get height of a wrap content view inflated as 0dp

我目前正在制作动画,如果用户单击它,该动画将放大视图。基本上,它是一张卡片,单击时会显示底部内容。为此,我正在像这样扩展动画:

Val collapseAnimation = object : Animation() {
            override fun applyTransformation(interpolatedTime: Float, t: Transformation?) {
                val interpolatedInverted = 1 - interpolatedTime

                val headerLp = headerImage.layoutParams
                headerLp.width = ...
                headerImage.layoutParams = headerLp
            }
        }

问题是我需要获取在 XML 中定义为 0dp 的视图 (wrap_content) 的高度。基本上,我想将视图从 0dp 扩大到 wrap_content,为此我需要知道什么是 wrap_content 大小。

如何在不对视图大小进行硬编码的情况下以最有效的方式完成此操作?

为了测量具有不同布局参数的视图并获取其高度,我们可以执行以下操作:

contentContainer.measure(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)
val contentContainerFinalHeight = contentContainer.measuredHeight