繁体   English   中英

如何用Android Navigation Component实现Navigation Drawer

[英]How to implement Navigation Drawer with Android Navigation Component

我正在尝试遵循最新的谷歌最佳实践,使用导航组件实现单个活动应用程序。

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

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

导航图

  • 应用程序在启动画面中启动。 然后在一些加载后转到新闻片段。

注意: Splash Screen 应该从后台弹出,因为它不应该再被访问了。

  • 导航抽屉应该在第 1 部分的所有片段中可用,允许用户在该部分的片段之间导航。

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

您是否尝试过使用选定的Navigation Drawer Activity创建一个新项目?

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. 带后退箭头的详细信息屏幕

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

startActivity(new Intent(packageContext, ArticleDetailsActivity.class));

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

3.飞溅

至于创建“好的”闪屏谷歌“正确的 Android 闪屏”,medium(作者 Sylvain Saurel)或 bignerdranch(作者 Chris Stewart)上有一些帖子涵盖了这个主题。

nav controller上使用DestinatedChangedListenerlockunlock抽屉模式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM