LinearLayoutManager обеспечивает базовую реализацию для перемещения элементов в ресайклере. Предполагая следующую конфигурацию в recyclerView:Android LinearLayoutManager и перемещение при удалении объекта
E0 | E1 E2 E3 | E4
где | представляет эффективные границы recyclerView, удаление на E1 приведет к следующей окончательной настройке после всех перерисовки и анимации:
E0 | E2 E3 E4 |
Мне нужно выполнить другое поведение. В принципе хочу
| E0 E2 E3 | E4
перемещение других элементов на основе какой части, слева или справа от экрана (относительно этого в данном случае E2), я сделал удаление. В принципе, исходный элемент центра должен восприниматься как ось поворота, чтобы выбрать, какую часть двигаться.
Похоже, что это поведение невозможно. Установка stackFromEnd не решает проблему, потому что у нас есть аналоговая проблема для удаления с противоположной стороны. Кроме того, изменение значения stackFromEnd во время выполнения перед тем, как эффективно выполнить вызов адаптера.onItemRemoved, не решает проблему.
Следующая ссылка может стоить взглянуть на: http://www.birbit.com/recyclerview-animations-part-2-behind-the-scenes/ – ap6491