Я пытался оживить следующий сценарий . В основном я хочу начать с числа ImageViews , которые расположены вертикально и распределены по экрану, и после определенного действия (нажатие кнопки и т. Д. c.) Они должны переместиться на ближе * 1006. *. Важно отметить, что число ImageViews может варьироваться в зависимости от случая (не всегда 3, как на рисунке) , поэтому предпочтительным будет универсальное c решение.
Мой первый подход состоял в том, чтобы перечислить изображения в 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, но до сих пор ничего не получалось.
Я был бы рад любым предложениям: -)