0

在我的支持导航和动态功能的 android 应用程序中,由于难以理解的原因,当我从基本应用程序中声明的活动导航到具有不同导航抽屉的单独动态功能内的活动时,应用程序加载目标活动和它的片段,但它们在源片段的顶部保持不可见,事实上我可以单击我知道存在于目标片段中的 EditTexts 的位置,即使控件不可见,也会显示虚拟键盘。以前可以,现在不行了。当我单击 Logcat 中的导航抽屉菜单项时,会出现以下非阻塞异常:

system_process E / WindowManager:布局窗口时出现未处理的异常java.lang.RuntimeException:未知动画名称:android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:192)的objectAnimator在android.view.animation.AnimationUtils.createAnimationFromXml( AnimationUtils.java:157) 在 android.view.animation.AnimationUtils.loadAnimation(AnimationUtils.java:138) 在 com.android.server.wm.AppTransition.loadAnimationRes(AppTransition.java:574) 在 com.android.server.wm .AppTransition.loadAnimation(AppTransition.java:1593) 在 com.android.server.wm.AppWindowToken.loadAnimation(AppWindowToken.java:1838) 在 com.android.server.wm.AppWindowToken.applyAnimationLocked(AppWindowToken.java:1756) 在com.android.server.wm.AppWindowToken.setVisibility(AppWindowToken.java:412) .....

无论如何,这不会导致应用程序失败。如果我将应用程序带到后台,然后回到前台,目标活动就会出现并正常工作。据我所知,过渡动画似乎没有完成,但我不知道在哪里检查Android用于显示目标活动片段的默认动画是否有问题。如果我删除目标活动并强制应用程序导航到另一个动态功能中的片段(保留基本应用程序的活动,而不是在动态功能中创建新活动),它工作正常。所以过渡动画和目标动态特征中的活动有问题。有没有办法检查动画以确保它们正确执行?请帮忙,我现在已经几天了

4

1 回答 1

0

这个问题实际上不是由于我的错误。今天谷歌发布了2.3.2版本

androidx.navigation:navigation-fragment-ktx
androidx.navigation:navigation-ui-ktx

这解决了问题。所以要小心,2.3.1 版有一个非常微妙的错误,在我的帖子中有描述

导航版本 2.3.2 2020 年 12 月 2 日

androidx.navigation:navigation-*:2.3.2 已发布。版本 2.3.2 包含这些提交。

Bug修复

修复了 NavigationUI 中的回归,其中使用带有 onNavDestinationSelected 的目的地将无法导航到 Activity。(I22e34, b/171364502) 修复了 navigation-dynamic-features-fragment 会导致多次导航到新安装的目的地的问题。(aosp/1486056, b/169636207) 修复了使用 launchSingleTop 时默认参数不会发送到 OnDestinationChangedListener 实例的问题。(I2c5cb) 修复了导航到嵌套导航图不会在后堆栈上创建新图实例的问题。(Ifc831) 修复了使用带有 popUpTo 的 navigate() 来删除导航图中的最后一个目的地的问题,该问题不会立即破坏导航图本身并将其从返回堆栈中删除。(I910a3) Navigation SafeArgs 现在使用 KotlinPoet 1.7 版。2 增加了对 Kotlin 显式 API 模式的支持。(I918b5) NavHostFragment.findNavController(Fragment) 现在除了检查 Fragment 层次结构和 Fragment 的视图层次结构之外,还检查 DialogFragment 的根装饰视图。这允许您测试使用带有 FragmentScenario 和 Navigation.setViewNavController() 的导航的对话框片段。(I69e0d)

于 2020-12-06T19:30:34.533 回答