В настоящее время я работаю над анимацией, которая вырастет, если пользователь нажмет на нее. В принципе, это карта, которая, щелкнув, покажет нижнее содержимое. Для этого, я простирающийся анимации, как это:Android получить высоту содержимого содержимого упаковки, накаченного как 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
}
}
Проблема заключается в том, что мне нужно, чтобы получить высоту обзора (wrap_content), который определен в XML как 0dp. В принципе, я хочу вырастить представление от 0dp до wrap_content, и для этого мне нужно знать, что такое размер wrap_content.
Как я могу это сделать наиболее эффективным способом, без жесткого кодирования размера представления?
попробуй использовать ViewTreeObserver, чтобы получить размер во время выполнения. https://developer.android.com/reference/android/view/ViewTreeObserver.html –
вид изначально завышен как 0dp, поэтому он не будет работать только с этим решением. Думаю –
После того, как представление выложено, getWidth' в представлении вернет фактическую ширину. Поэтому просто не называйте это в 'onCreateView'. Вы можете использовать 'ViewTreeObserver', как было предложено, чтобы убедиться, что представление было выложено. –