android - @anim/fragment_fade_enter 包含在哪里?

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

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

最佳答案

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

根据 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.

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

如果您正在使用导航组件,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

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

关于android - @anim/fragment_fade_enter 包含在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67305830/

相关文章:

java - Android GridView 可二维滚动

java - 异步同步

使用新导航组件处理 Android onBackPressed

android - 使用 view pager2 和嵌套导航正确使用导航组件

java - 在 for 循环中嵌套 string.splits - 分配时内部 split 得到 NPE

Java:在另一个类中使用一个类中的变量

android - 让导航中的 DialogFragment 在弹出返回堆栈时不会消失

android - 使用分页架构组件调试分页

android - MutableLiveData<String> 到 MutableLiveData<Int>

android - 深层链接空字符串参数