【问题标题】:Fragment transition with sharedElements stopped working on Anrdoid 9共享元素的片段过渡在 Android 9 上停止工作
【发布时间】: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


    【解决方案1】:

    经过一番挖掘,我找到了解决方案:

    使用支持库中的 SupportFragmentManager。尽管片段在 API 版本 26 中没有被弃用,但它们并不总是有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-14
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 2016-04-23
      相关资源
      最近更新 更多