【发布时间】:2021-06-10 18:52:29
【问题描述】:
我将bottom navigation 用于single activity。
我想做的是通过bottom menu (fragment) 进行各种屏幕转换。
我们正在实现一个功能来切换屏幕而不移动切换屏幕上的菜单。
我考虑过使用Android提供的BottomNavigation Activity(可能是JetPack navigation component)。
但是,我看到这个组件有很多问题。尤其是NavController。
例如,当我切换屏幕然后返回时,我必须手动恢复视图状态。
因为NavController 使用replace() 而不是show/hide,所以有人告诉我这样
除了这些问题,更推荐使用FragmentManager和show/hide,是吗?
所以我目前正在使用setOnNavigationItemSelectedListener,但实际上它更难,因为我正在自己实现屏幕过渡。
【问题讨论】:
-
视图会根据Saving View State 自动保存和恢复它们自己的状态 - 您可以通过查看带有
android:id的任何EditText来验证这一点。无论如何,您都需要这样做以支持配置更改并处理死亡和重新创建 - 这不是您在任何情况下都可以忽略的可选事情。
标签: android android-jetpack-navigation android-bottomnavigationview