Правильная анимация не происходит в средних рядах RecyclerView - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь реализовать логику c для анимации Recyclerview при прокрутке сверху вниз и снизу вверх. Есть две анимации. Один для прокрутки сверху вниз, а другой - снизу вверх.

Я помещаю логи c в onbindViewHolder из recyclerview.

int lastPosition=-1; 



    @NonNull
        @Override
        public Viewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

            LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
            MoreOptionsListBinding moreOptionsListBinding = MoreOptionsListBinding.
                    inflate(layoutInflater, parent, false);
            return new Viewholder(moreOptionsListBinding);
        }

        @Override
        public void onBindViewHolder(@NonNull
                                     Viewholder holder,int position) {



            Animation animation = AnimationUtils.loadAnimation(context,
                    (position > lastPosition) ? R.anim.up_from_bottom
                            : R.anim.down_from_up);
            holder.itemView.startAnimation(animation);

            lastPosition = position;

            MoreOptionsModel moreOptionsModel = moreOptionsModelArrayList.get(position);
            holder.bind(moreOptionsModel);
    }

А классы анимации

up_from_bottom. xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="@android:anim/decelerate_interpolator">
    <translate
        android:fromXDelta="0%" android:toXDelta="0%"
        android:fromYDelta="100%" android:toYDelta="0%"
        android:duration="400" />
</set>

down_from_up. xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="@android:anim/decelerate_interpolator">
    <translate
        android:fromXDelta="0%" android:toXDelta="0%"
        android:fromYDelta="-100%" android:toYDelta="0%"
        android:duration="400" />
</set>

Моя проблема заключается в том, что анимация работает при прокрутке сверху вниз и снизу вверх, но для некоторых анимаций средних строк не работает Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...