You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Navigation组件自定义过渡动画不生效问题求助

问题排查与解决步骤

  1. 跳转调用逻辑错误
    你当前执行跳转的代码直接传入了目标Fragment的ID:
findNavController().navigate(R.id.reg2Fragment)

而自定义动画的配置是绑定在reg1Fragment指向reg2Fragment的action上的,只有调用对应action的ID跳转,才会加载action上配置的动画参数,将跳转代码修改为:

findNavController().navigate(R.id.action_reg1Fragment2_to_reg2Fragment)
  1. Navigation依赖冲突
    你的依赖配置中重复声明了Navigation组件依赖,前两行已经指定了2.3.5版本的依赖,后续又重复添加了无版本号的依赖,会导致版本匹配异常,删除末尾重复的两行依赖即可:
// 删除以下两行重复声明
implementation 'androidx.navigation:navigation-fragment-ktx'
implementation 'androidx.navigation:navigation-ui-ktx'

如果修改后依然存在异常,建议将Navigation版本统一升级到2.5.3及以上的稳定版,修复低版本已知的动画兼容问题。

  1. 动画资源配置校验
  • 确认你编写的平移动画文件存放路径为res/anim/目录,文件名为nav_default_enter_anim.xml,和navGraph中配置的app:enterAnim="@anim/nav_default_enter_anim"完全一致
  • 如果你使用的是属性动画,需要存放在res/animator/目录下,配置时要使用app:enterAnim="@animator/xxx"的格式
  1. 主题动画兼容校验
    如果全局Material主题配置了窗口动画,可能会覆盖Fragment导航动画,可在主题配置中添加如下属性关闭系统默认窗口动画:
<item name="android:windowAnimationStyle">@null</item>

内容的提问来源于stack exchange,提问作者Mohammad Khalid Ibrahimi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:27:03