【发布时间】:2019-08-29 00:50:18
【问题描述】:
我有一个回收站视图 -> 详细信息视图流程。转换名称在列表中是唯一的,并且匹配详细信息片段中的转换名称。应该移动两个视图,而不是像其他所有视图一样淡入/淡出。在我将目标 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()
}
【问题讨论】:
标签: android android-fragments material-design