Я пытался анимировать по сценарию. По сути, я хочу начать с нескольких ImageViews, которые расположены вертикально и распределены по экрану, и после определенного действия (нажатие кнопки и т. д.) они должны приблизиться. Важно отметить, что количество ImageView может варьироваться в зависимости от случая (не всегда 3, как на картинке), поэтому предпочтительнее использовать общее решение.
Мой первый подход состоял в том, чтобы перечислить изображения в Recyclerview и развернуть изображения с пользовательским ItemDecoration следующим образом. :
class CustomItemDecorator(private val spaceHeight: Int) : RecyclerView.ItemDecoration() {
override fun getItemOffsets(
outRect: Rect,
view: View,
parent: RecyclerView,
state: RecyclerView.State
) {
with(outRect) {
if (parent.getChildAdapterPosition(view) == 0) {
top = spaceHeight
}
bottom = spaceHeight
}
}
}
Удалив ItemDecorator ( myRecyclerView.removeItemDecoration(my_decorator)
), я смог приблизить изображения ближе. Хотя это прекрасно работает с любым количеством изображений, чтобы улучшить взаимодействие с пользователем, я хотел бы анимировать этот переход. Я пытался применить более сложные анимации к моему RecyclerView, но до сих пор ничего не получалось.
Буду рад любым предложениям :-)