您最近不鼓励使用导航组件吗?

Have you recently discouraged using naviation component?

我正在为 single activity 使用 bottom navigation

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

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

但是,我发现这个组件存在很多问题。特别是 NavController.

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

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

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

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

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

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

查看 this 示例以了解 BottomNavigationView 的实际应用以及新的 NavController。对于任何应用程序来说,这都是一个很好的起点。