Возможно ли переход от общего элемента в представление в RecyclerView?

В связи с нормальным Lollipop-преобразованием Activity, имеющим общие элементы, например https://github.com/codepath/android_guides/wiki/Shared-Element-Activity-Transition , довольно часто происходит переход из представления из представления Recycler в Нормальный вид целевой деятельности.

Тем не менее, в случае целевого представления, также находится в качестве наблюдателя recyclerView, есть ли способ сделать это возможным (т. Е. Предоставить целевое представление ActivityOptionsCompat)?

Благодаря!

По моему расследованию это невозможно. Перед тем как общий переход элемента может создать его анимацию, он должен сначала захватить начальное и конечное состояние каждого общего элемента, а именно его позицию, размер и внешний вид как в вызывающих, так и в названных действиях / фрагментах. С помощью этой информации переход может определять, как каждый элемент общего элемента должен быть на месте. (Через http://www.androiddesignpatterns.com/2015/01/activity-fragment-shared-element-transitions-in-depth-part3a.html )

Официальная документация объявляет ограничения:

Классы, расширяющие AdapterView, такие как ListView, управляют своими дочерними представлениями способами, несовместимыми с инфраструктурой переходов. Если вы пытаетесь анимировать представление на основе AdapterView, дисплей устройства может зависать.

http://developer.android.com/training/transitions/overview.html#Limitations

Это абсолютно возможно. Сделайте это, чтобы выполнить следующие действия:

  1. Отложите переход в своей целевой деятельности с помощью supportPostponeEnterTransition() .
  2. Установите адаптер в RecyclerView.
  3. Начните перенесенный переход после того, как RecyclerView нарисовал элементы.

Шаг 3 обычно работает с этим:

 recyclerview.post(new Runnable() { @Override public void run() { supportStartPostponedEnterTransition(); } });