当前位置: 首页 > 知识库问答 >
问题:

如何使用Android导航组件实现导航抽屉

鲁旭
2023-03-14

我试图遵循谷歌最新的良好实践,用导航组件实现单个活动应用程序。

然而,在阅读了整个导航留档后,我仍然认为有很多情况下,他们没有解决。

例如,我应该如何实现以下情况:

  • 应用程序在闪屏中启动。然后在加载后进入新闻片段。

注意:闪屏应该从后台弹出,因为它不应该再出现了。

然而,部分中的一些片段可以导航到一个新区域,该区域应该有一个后退按钮(而不是抽屉)。

共有1个答案

公羊伟志
2023-03-14

您是否尝试使用选定的导航抽屉活动创建新项目?

1、抽屉

在XML中,您应该为此活动添加一个FrameLayout来保存片段。然后您可以开始将此活动用作片段的容器,然后在DrawerMenuItem上单击,您加载特定的片段。我使用此方法重新加载片段:

public void replaceFragment (Fragment fragment, Bundle args){
    fragment.setArguments(args);
    getSupportFragmentManager().beginTransaction().replace(R.id.container, fragment).commit();
}

并从活动中这样称呼它:

replaceFragment(Fragment.newInstance(), args)

然后你有你的抽屉在所有碎片可用。

2.带后箭头的详细信息屏幕

至于另一个带有例如文章详细信息的屏幕,您可以使用详细信息开始活动:

start Active(new Intent(packageContext, ArticleDetailsActivity.class));

然后没有抽屉,你有一个后退按钮。

3、飞溅

至于创造一个“好的”闪屏谷歌“Android闪屏的正确方式”,有帖子在媒体(由西尔万索雷尔)或比格纳德兰奇(由克里斯斯图尔特)涵盖这一主题。

 类似资料:
  • 问题内容: 我有一个导航图,该导航图将此片段用作主活动XML中的主页。 我有一个带有菜单的Drawer布局,单击导航抽屉按钮时,我无法设法使导航正常工作(它可以从主要片段工作,但是当我单击Drawer按钮时,不能工作),如果我使用的是旧方法使用:对导航抽屉编程,我的navcontroller丢失了!!我得到类似的错误 navcontroller无法识别目标片段,因为即使不是这种情况,控制器也会看到

  • 我有一个导航图,它在主活动XML中使用这个片段作为主页。 我有一个带菜单的抽屉布局,当我点击抽屉菜单按钮时,我无法使导航工作(它从主片段工作,但当我点击抽屉按钮时就不工作),如果我使用旧的方式来编程抽屉菜单:

  • 实际上,我正在我的应用程序中使用新的架构组件,并且我已经设置了导航组件。我有一个导航抽屉,我想用它。我已经设置好了,但我面临一些问题: 1-抽屉不会自动关闭。菜单正常工作并导航到正确的位置,但导航后不会关闭。我必须添加一个目的地ChangedListener才能自己关闭它。 在代码实验室里,抽屉自动关闭,我真的不明白为什么。 2-向上按钮打开抽屉。当我导航到非顶级片段时,菜单图标变为向上箭头,但当

  • 我正在一个新的Android应用程序上使用导航组件,但我不知道怎么做 首先,我有我的主活动,我有main_navigation_graph 主要活动 NavHostFragment main_navigation_graph里面有3个碎片 这里一切都很好。问题是当我到达最后一个片段时,因为在这个片段上,我想根据BottomNavigationView输入(暂时)显示一些子片段(在新的NavHost

  • 我有如下的屏幕,其中包含一个导航抽屉和底部导航在同一个屏幕上: 我正在使用Jetpack导航架构组件。 当前问题和我尝试了什么? 单击第二个和第三个底部导航项目会在工具栏上显示返回箭头吗? 已尝试:将与第二和第三底部导航相关联的片段设置为顶级目的地 代替 不起作用。 任何帮助高度赞赏! 我的代码如下所示。 activity_main.xml menu_bottom.xml nav_graph.xm

  • 有人能告诉我如何创建活动到这个主要活动,导航抽屉将看到在所有他们?我需要使用这个特定的MainActivity代码。我不需要使用碎片,只要3个简单的活动将添加到这个抽屉。 NavDrawer布局: