@anim/fragment_fade_enter 包含在哪里?

Mtz*_*Sam 3 android android-jetpack android-architecture-navigation android-jetpack-navigation

@anim/fragment_fade_enter包含在其中androidx.fragment:fragment-ktx:1.2.4,但在我将其更新到版本后1.3.3,我似乎无法再解决它,我在网上只能找到它应该包含在 Androidx Core 中https://android.googlesource.com/platform/frameworks /base/+/master/core/res/res/animator/fragment_fade_enter.xml 但使用androidx.core:core-ktx:1.3.2也没有帮助。

它是否被重构为另一个依赖项?

ian*_*ake 5

资源始终是API中使用的各个字段(即)@anim/fragment_的私有实现细节。FragmentTransaction.TRANSIT_TRANSIT_FRAGMENT_FADEFragmentTransaction.setTransition()

根据Fragment 1.3.0 发行说明

  • TRANSIT_ 动画更改:片段默认效果 、TRANSIT_FRAGMENT_OPENTRANSIT_FRAGMENT_CLOSETRANSIT_FRAGMENT_FADE,现在使用Animator代替Animation。用于构建这些动画师的资源现在是私有的。

因此,如果您自己使用 Fragment,则应该使用setTransition()API,而不是手动使用任何这些私有动画师。

如果您使用导航组件,则从Navigation 2.3.1 版本navigation-ui开始,依赖项确实提供了公共动画师。您可以将它们与以下内容一起使用:

  • @animator/nav_default_enter_anim
  • @animator/nav_default_exit_anim
  • @animator/nav_default_pop_enter_anim
  • @animator/nav_default_pop_exit_anim

截至目前,这些也是淡入淡出动画。