Новый макет выдвигается снизу, толкая весь макет вверх
Я пытаюсь создать экран, на какой-то операции требуется сдвинуть макет снизу вверх, чтобы он соответствовал его длине, с анимацией перевода в виде слайда.
Посмотрите на пример экрана:
Как вы можете видеть первоначальный макет экрана, новый вид 5 скользит снизу, с анимацией поднимая весь макет вверх.
Я пробовал это: /questions/44751536/pokazat-i-skryit-vid-s-animatsiej-slajda-vverh-vniz/44751603#44751603
Используя вышеуказанную ссылку, новый вид виден с анимацией, но экран не скользит вниз, чтобы показать новый вид 5.
Есть идеи как это сделать!! Заранее спасибо.
1 ответ
Я тоже это проверял. Видимо анимация с translateY
или же Y
не меняет границ макета. Другими словами, другие взгляды не движутся вверх. Ни при использовании Animation
ни Animator
,
Одним из решений является анимация полей, если анимированный вид находится в макете, который поддерживает поля. В Котлине:
val collapse = ValueAnimator.ofInt(0, -someLayoutAndViews1.height)
collapse.addUpdateListener {
val params = someLayoutAndViews1.layoutParams as ViewGroup.MarginLayoutParams
params.topMargin = it.animatedValue as Int
someLayoutAndViews1.layoutParams = params
}
collapse.start()