Android 导航组件-淡入特定内容

Android 导航组件-淡入特定内容,android,androidx,android-architecture-navigation,Android,Androidx,Android Architecture Navigation,使用导航组件,我希望在转换期间将淡入效果应用于FadeInContent,并遵循以下顺序: Text1->Text2转换通过应用R.transition.move-in-sharedElement完成 FadeInContent在1后淡入。过渡 我看过这篇文章,它完全符合我的要求,但没有使用导航组件 ,因此我不能申请延期。我也不能应用NavOptions.Builder.setEnterAnimR.anim.fade_,因为它适用于所有屏幕,而不仅仅是FadeInContent。 AFAIK导航

使用导航组件,我希望在转换期间将淡入效果应用于FadeInContent,并遵循以下顺序:

Text1->Text2转换通过应用R.transition.move-in-sharedElement完成 FadeInContent在1后淡入。过渡 我看过这篇文章,它完全符合我的要求,但没有使用导航组件 ,因此我不能申请延期。我也不能应用NavOptions.Builder.setEnterAnimR.anim.fade_,因为它适用于所有屏幕,而不仅仅是FadeInContent。

AFAIK导航组件只能处理过渡期间的运动,因此您正确地指出,没有办法延迟过渡

尽管如此,您可能希望通过场景过渡实现淡入动画

这看起来是一个更干净的方法来处理你暴露的情况

代码解决方案:

代码解决方案:

val transition = TransitionInflater.from(activity)
                .inflateTransition(android.R.transition.move)

sharedElementEnterTransition = transition
setEnterSharedElementCallback(object : SharedElementCallback() {
            override fun onMapSharedElements(
                names: MutableList<String>?,
                sharedElements: MutableMap<String, View>?
            ) {
                super.onMapSharedElements(names, sharedElements)
                fadeInContainer.loadAnimation(
                    activity,
                    R.anim.fade_in
                )
              }
        })
val transition = TransitionInflater.from(activity)
                .inflateTransition(android.R.transition.move)

sharedElementEnterTransition = transition
setEnterSharedElementCallback(object : SharedElementCallback() {
            override fun onMapSharedElements(
                names: MutableList<String>?,
                sharedElements: MutableMap<String, View>?
            ) {
                super.onMapSharedElements(names, sharedElements)
                fadeInContainer.loadAnimation(
                    activity,
                    R.anim.fade_in
                )
              }
        })