У меня есть вид рециркулятора -> подробный вид потока.Имена переходов уникальны в списке и соответствуют именам переходов во фрагменте сведений.Предполагается, что два вида должны быть перемещены, а не исчезнут, как все остальное.Мои анимации работали должным образом, пока я не изменил целевой API на 26. В API 26 общие представления переходят в свое «конечное» состояние без каких-либо анимаций.Все остальное - свойство анимированное.
Я пытался следовать нескольким инструкциям, но безрезультатно.Что мне не хватает?Вот мой код:
private fun showDetails(edited: EditedAlarm) {
fragmentManager.findFragmentById(R.id.main_fragment_container)?.lollipop {
exitTransition = Fade()
}
val detailsFragment = AlarmDetailsFragment().apply {
arguments = Bundle()
arguments.putInt(Intents.EXTRA_ID, edited.id())
arguments.putBoolean(Store.IS_NEW_ALARM, edited.isNew)
}.lollipop {
val enterSlide = Slide()
if (edited.holder.isPresent()) {
val viewHolder = edited.holder.get()
enterSlide.epicenterCallback = viewHolder.epicenter()
enterSlide.slideEdge = Gravity.TOP
}
enterTransition = TransitionSet().addTransition(enterSlide).addTransition(Fade())
val move = TransitionInflater.from(this@AlarmsListActivity).inflateTransition(android.R.transition.move)
sharedElementEnterTransition = move
sharedElementReturnTransition = move
}
fragmentManager.beginTransaction()
.lollipop {
val viewHolder = edited.holder.get()
addSharedElement(viewHolder.digitalClock(), viewHolder.digitalClock.transitionName)
addSharedElement(viewHolder.container(), viewHolder.container().transitionName)
}
.replace(R.id.main_fragment_container, detailsFragment)
.commitAllowingStateLoss()
}