У меня есть RecyclerView
, который отображает заголовок ViewHolder
перед отображением списка сообщений адаптера ViewHolder
s, основываясь на этом уроке: https://stackoverflow.com/a/26573338
У меня есть переход общего элемента наЭлемент CardView в обоих макетах, и я настроил переход на RecyclerView
, используя следующие учебные пособия: https://mikescamell.com/shared-element-transitions-part-4-recyclerview/index.html и https://stackoverflow.com/a/42330954/
В общем переходе основное действие CardView
расширяется дозаполните экран.Обратный переход должен поддерживать этот эффект (заголовок ViewHolder
должен уменьшаться до исходного размера CardView
).
Когда я перехожу от моего MainActivity
к DetailActivity
, переход общего элемента работаетобычно.Если заголовок ViewHolder
виден, то возврат к MainActivity
запускает Переход нормально.Даже если видна лишь полоска держателя заголовка, переход все же оживляет вниз за кадром.
Проблема, с которой я сталкиваюсь, - когда заголовок ViewHolder
прокручивается из поля зрения, возвратный переход неработать, и вместо этого я получаю то, что похоже на анимацию затухания по умолчанию между действиями.Я хочу, чтобы это выглядело как в приведенном выше случае, когда содержимое держателя анимируется вниз за пределы экрана.
Я пытался предотвратить повторное использование заголовка ViewHolder, думая, что это может быть проблемой, но ни одно из них не изменило: recyclerView.getRecycledViewPool().setMaxRecycledViews(TYPE_HEADER, 0);
, а также holder.setIsRecyclable(false);
Я попытался прокрутить до верхней части окна повторного просмотра, как это, наBackPressed, но это не работает - я думаю, вероятно, потому что действие заканчивается до того, как прокрутка может произойти: ((DetailsFragment) fragment).mLayoutManager.scrollToPosition(0);
См. https://gist.github.com/wnrosenberg/38f3da6d7488df6bc48c14ddf1078544 для примеров кода.
Любая помощь будет оценена.Спасибо.