【问题标题】:Have you recently discouraged using naviation component?您最近是否不鼓励使用导航组件?
【发布时间】:2021-06-10 18:52:29
【问题描述】:

我将bottom navigation 用于single activity

我想做的是通过bottom menu (fragment) 进行各种屏幕转换。 我们正在实现一个功能来切换屏幕而不移动切换屏幕上的菜单。

我考虑过使用Android提供的BottomNavigation Activity(可能是JetPack navigation component)。

但是,我看到这个组件有很多问题。尤其是NavController

例如,当我切换屏幕然后返回时,我必须手动恢复视图状态。

因为NavController 使用replace() 而不是show/hide,所以有人告诉我这样

除了这些问题,更推荐使用FragmentManagershow/hide,是吗?

所以我目前正在使用setOnNavigationItemSelectedListener,但实际上它更难,因为我正在自己实现屏幕过渡。

【问题讨论】:

  • 视图会根据Saving View State 自动保存和恢复它们自己的状态 - 您可以通过查看带有android:id 的任何EditText 来验证这一点。无论如何,您都需要这样做以支持配置更改并处理死亡和重新创建 - 这不是您在任何情况下都可以忽略的可选事情。

标签: android android-jetpack-navigation android-bottomnavigationview


【解决方案1】:

如果我是你,我肯定会使用提供的 NavController。

多年来,它一直存在问题,其中一些是您所描述的。大多数这些问题已在version 2.4.0-alpha01 中删除。 2.4.0-alpha02 版本也已经发布。

查看this 示例以查看运行中的BottomNavigationView 以及新的NavController。对于任何应用来说,它都是一个很好的起点。

【讨论】:

  • 谢谢。但该链接是 alpha 版本。换句话说,它是试用版而不是完整版。可以用吗?
  • 使用应该没问题。 2.4.0-alpha02版本出来之后我就亲自使用过,没有遇到任何问题。我认为从头开始实施一切会更容易出错
猜你喜欢
  • 2015-09-05
  • 2020-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-22
  • 2010-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多