本文介绍了如何不间断地显示我的导航栏内容?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!,我从头开始构建了一个可定制的导航抽屉(没有使用Android Studio提供的默认抽屉)。在我的天气应用程序的导航栏菜单https://i.stack.imgur.com/SIjdx.jpg中,每当我选择菜单上的一个选项(比如设置)时,它会显示选项的内容以及底部的导航视图和我的活动的工具栏内容,其中包括导航汉堡图标、编辑文本和搜索按钮(托管我的3个片段的活动),这会破坏应用程序,使其看起来非常难看,即https://i.stack.imgur.com/gxj5n.jpg(从该屏幕截图看,如果实现良好,整个内容应该是空的)。其他栏菜单选项的情况相同。所有我想要的是一个空白的空间来工作,我想要的应用程序只显示导航栏内容,没有睡觉。示例;https://i.stack.imgur.com/3Jtga.png我应该怎么做?,导航菜单的视图由以下代码控制(在第185行):,表示我当前正在活动上使用片段的容器视图来显示导航菜单内容,而我知道这些内容肯定是错误的,那么我应该在Replace中使用什么呢?(&p>";Fragment";There)表示我当前正在活动上使用片段的容器视图来显示我知道是错误的导航菜单内容。我缺乏丰富的经验,因为这是我第一次开发应用程序,我不知疲倦地独自花了3个小时试图解决这个问题,但最终失败了。,这是我的活动代码:,如果您需要任何其他代码来调查此问题,请让我知道。我只是想避免张贴太多,编辑:,我的旧底标签导航图:,我的新导航条形图:,您使用的是导航体系结构组件,因此navController
应该是控制片段事务的组件,您使用BottomNavigationView
进行的操作是正确的。,但在navDrawer
内,您正在通过supportFragmentManager
执行事务,而应通过navController
完成,因为两者处理导航的方式不同。,这是因为BottomNavView是活动的一部分,您需要将其移动到片段中;这需要更改应用程序的导航设计;为此,请如下所示更改应用程序导航:,主导航:,HomeFragment
是应该保存BottomNaviagtionView
而不是活动的片段;当您导航到SettingFragment时,navConroll将替换navHostFragment中的整个片段,因此BottomNaviagtionView
将不会显示。,与BottomNaviagtionView
不同,您不能对用作supportActionBar的工具栏执行此操作,因为为了更改其外观而多次设置supportActionBar
将复制它;因此您必须接受单个工具栏;但是,您可以在目标更改时隐藏/显示包含搜索按钮和EditText的布局:,要在任何时候按下任何片段中的底部后退按钮,请在这些片段的onCreateView()
内使用OnBackPressedDispatcher()
(在您的示例中为SettingFragment、PrivacyPolicyFragment和&;AdsUpgradeFragment):,并确保appBarConfiguration
没有引用这些片段,以便可以显示”向上”按钮而不是汉堡。,另外,请确保您的设置DrawerLayout
navView
在navController
中设置为:,并在navDrawer中默认隐藏Home片段:,您应该使用两个navGraphs,第一个是我建议的主导航;第二个是您已经使用的BottomNavigationView
导航;这是因为我们将BottomNavigationView
从活动布局转移到了主/主页片段布局;和it’ recommended the BottomNavigationView
should have a separate navGraph;,因此,您现在需要两个FragmentContainerView
;第一个在引用此答案中提供的navGraph的活动布局中,第二个在引用BottomNavigationView
的原始navGraph的主页片段布局中。,示例:,这篇关于如何不间断地显示我的导航栏内容?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,