Добавление отдельных анимаций просмотра для RecyclerView

Я пытаюсь поиграть с анимацией в RecyclerView. Вот пользовательский поток, которого я пытаюсь достичь

  • У меня есть горизонтальный прокручиваемый RecyclerView. Когда пользователь выбирает элемент, я хочу, чтобы все остальные элементы исчезли, кроме выбранного.
  • Затем я хочу, чтобы этот выбранный элемент скользил в самую первую позицию
  • И я хочу снова показать остальные элементы в представлении ресайклера.

Например. Приведен ниже

Пример поведения Google Chrome

Любая помощь или указатели приветствуются. Спасибо


person user2453055    schedule 15.09.2016    source источник


Ответы (1)


Я не знаю, как сделать это горизонтально, но я знаю, как получить анимацию. Вы должны увидеть, как вы настраиваете его в соответствии со своими требованиями:

В этом руководстве добавлено поведение перетаскивания RecyclerView. Мы используем анимацию этого для вашей цели. Мы будем делать «перетаскивание» (перемещение элемента в первую позицию не с помощью перетаскивания, а автоматически). Для этого мы используем представленный в уроке метод «своп». И тогда он у вас должен быть.

1 – Когда элемент выбран, установите для всех остальных элементов статус НЕВИДИМЫЙ (НЕ ПРОШЛ!!!)
2 – Используйте метод swap, чтобы переместить его с анимацией на первую позицию:

public void swap(int from, int to){

            if(to > from){
                for(int i = to; i > from; i--){
                    Collections.swap(mItemList, i, i - 1);
                    notifyItemMoved(i, i - 1);
                }
            }else{
                for(int i = to; i < from; i++){
                    Collections.swap(mItemList, i, i + 1);
                    notifyItemMoved(i, i + 1);
                }
            }
        }

3 - Установите остальные элементы снова на ВИДИМОСТЬ.

person XxGoliathusxX    schedule 16.09.2016