@anim/fragment_fade_enter 包含在什么地方?

Where is @anim/fragment_fade_enter included in?

@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 也无济于事。

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

@anim/fragment_ 资源始终是各种 FragmentTransaction.TRANSIT_ 字段(即 TRANSIT_FRAGMENT_FADE) used in the FragmentTransaction.setTransition() API.

的私有实现细节

根据 Fragment 1.3.0 release notes:

  • TRANSIT_ animation changes: The fragment default effects, TRANSIT_FRAGMENT_OPEN, TRANSIT_FRAGMENT_CLOSE, and TRANSIT_FRAGMENT_FADE, now use Animator instead of Animation. The resources used to build these animators are now private.

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

如果您正在使用导航组件,navigation-ui 依赖项 Navigation 2.3.1 release 开始提供 public 动画师。你会用那些:

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

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