Android 获取换行内容 View 的高度,膨胀为 0dp

标签 android animation android-animation layoutparams

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

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 的 View (wrap_content) 的高度。基本上,我想将 View 从 0dp 增长到wrap_content,为此我需要知道wrap_content 大小是多少。

如何以最有效的方式实现这一点,而不需要对 View 大小进行硬编码?

最佳答案

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

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

关于Android 获取换行内容 View 的高度,膨胀为 0dp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42119943/

相关文章:

android - 如何在 OpenGL ES 2.0 Android 中绘制基本圆

java - 多个 keystore 与多个 key 以及 key 的导出/导入

android - 自定义微调器字体

android - 功能区菜单安卓

Android Recycler (List) View 展开转场动画

android - Android 手机每 66 毫秒拍照一次以进行颜色分析(心率监测)

ios - 使用 CGContext 绘制时的动画

jquery - 动画 div 不会隐藏在父项下

android - 在 android 约束布局中关闭屏幕的动画 View

java - 如何让我的图像在 android studio 中淡出?