禁用底部导航控制器中的当前选项卡
Disabling the current tab in a bottom navigation controller
我正在使用 Jetpack Navigation 来处理底部导航控制器。效果很好;但是,我正在寻找一种改进用户体验的方法。
是否可以禁用用户当前导航到的选项卡?
我可以 "spam" 底部导航中的当前选项卡,这会重新加载数据和不必要的 UI。如果这种行为(重新点击当前选项卡)是有意的,有没有办法保留片段的状态,以便在离开和导航到时,它不会重新创建?
我如何处理底部导航:
navController = NavHostFragment.findNavController(navigation_host_fragment)
NavigationUI.setupWithNavController(bottom_navigation_view, navController)
根据this issue:
Feel free to set a OnNavigationItemReselectedListener
, which takes precedence over the OnNavigationItemSelectedListener set by NavigationUI: setOnNavigationItemReselectedListener
bottom_navigation_view.setOnNavigationItemReselectedListener {
// Do nothing
}
我正在使用 Jetpack Navigation 来处理底部导航控制器。效果很好;但是,我正在寻找一种改进用户体验的方法。
是否可以禁用用户当前导航到的选项卡?
我可以 "spam" 底部导航中的当前选项卡,这会重新加载数据和不必要的 UI。如果这种行为(重新点击当前选项卡)是有意的,有没有办法保留片段的状态,以便在离开和导航到时,它不会重新创建?
我如何处理底部导航:
navController = NavHostFragment.findNavController(navigation_host_fragment)
NavigationUI.setupWithNavController(bottom_navigation_view, navController)
根据this issue:
Feel free to set a
OnNavigationItemReselectedListener
, which takes precedence over the OnNavigationItemSelectedListener set by NavigationUI: setOnNavigationItemReselectedListener
bottom_navigation_view.setOnNavigationItemReselectedListener {
// Do nothing
}