【问题标题】:Android navigation and activities in separate dynamic featuresAndroid 导航和活动中的单独动态功能
【发布时间】:2020-12-06 06:30:37
【问题描述】:

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

system_process E/WindowManager:布局时出现未处理的异常 视窗 java.lang.RuntimeException:未知动画名称:objectAnimator 在 android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:192) 在 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用于显示目标活动片段的默认动画是否有问题。如果我删除目标活动并强制应用程序导航到另一个动态功能中的片段(保留基本应用程序的活动,而不是在动态功能中创建新活动),它工作正常。所以过渡动画和目标动态特征中的活动有问题。有没有办法检查动画以确保它们正确执行?请帮忙,我现在正在尝试解决这个问题。

【问题讨论】:

    标签: android kotlin navigation dynamic-feature


    【解决方案1】:

    这个问题实际上并不是我的错误造成的。今天谷歌发布了 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 版包含这些提交。

    错误修复

    修复了 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)

    【讨论】:

      猜你喜欢
      • 2011-09-25
      • 1970-01-01
      • 2014-02-24
      • 2014-10-29
      • 2014-05-21
      • 2014-05-31
      • 1970-01-01
      • 2020-05-13
      相关资源
      最近更新 更多