Анимация recyclerview при прокрутке

Я посмотрел это видео на YouTube от Slidenerd:

https://www.youtube.com/watch?v=e8ifO1m9g_Q

Он предложил, чтобы, если вы хотите использовать анимацию в своем recyclerview, используйте следующий код внутри вашего кода onBindViewHolder recyclerview:

ObjectAnimator objectAnimatorTranslateY;
if (position > previousPosition) { //this should only activate animation when scrolling up
    objectAnimatorTranslateY = ObjectAnimator.ofFloat(holder.itemView, "translationY", 200, 0 );
    objectAnimatorTranslateY.setDuration(300);
    objectAnimatorTranslateY.start();
}
previousPosition = position;

Я создал экземпляр previousPosition в качестве переменной-члена равным 0.

Код анимирует элементы в recyclerview так, что они появляются снизу экрана при прокрутке.

Код работает, но я не могу понять, как предотвратить запуск кода при первом появлении списка на экране.

Я не хочу, чтобы элементы списка анимировались при первом открытии приложения, а только при прокрутке вверх. Как остановить запуск аниматора, когда на экране впервые появляется recyclerview?


person Simon    schedule 17.10.2015    source источник


Ответы (1)


Это похоже на хак, но я думаю, вы могли бы проверить Y-позицию элемента и сравнить ее с ScreenHeight. А если view.getX() > getScreenHeight то запустить появляющуюся анимацию.

person Vladislav Sazanovich    schedule 07.07.2016