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

joh*_*crq 2 animation android android-animation layoutparams

我正在制作动画,如果用户点击它,它将会增长视图.基本上,它是一张卡片,当点击它时,它会显示底部内容.为此,我正在扩展这样的动画:

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

                val headerLp = headerImage.layoutParams
                headerLp.width = ...
                headerImage.layoutParams = headerLp
            }
        }
Run Code Online (Sandbox Code Playgroud)

问题是我需要将XML中定义的视图(wrap_content)的高度设置为0dp.基本上,我想长大一个从0dp到wrap_content的视图,为此我需要知道wrap_content大小是什么.

如何在不对视图大小进行硬编码的情况下以最有效的方式实现这一目标?

joh*_*crq 5

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

contentContainer.measure(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)
val contentContainerFinalHeight = contentContainer.measuredHeight
Run Code Online (Sandbox Code Playgroud)