我已经实现了带有片段的导航抽屉,它完全工作正常。现在我想在不使用自定义工具栏的情况下实现导航抽屉(使用 AppTheme== DarkActionbar)。如果没有自定义工具栏,我就无法做到这一点。我已经浏览了许多博客和教程,但无法获得所需的解决方案。
如果有人能帮我解决我的问题,那对我会很有帮助。
注意:我没有为此使用导航控制器,我使用的是旧方法,即添加 Drawer 和 DrawerActiobarToogle 等。
答案 0 :(得分:0)
如果您只想放弃 ActionBar,就像@GabrieleMariotti 建议的那样,您可以使用任何 *.NoActionBar 主题。
或者,如果您已经了解主题并且想在没有 Toolbar 的情况下使用 NavigationUI,那么有一个方法。
在您的 MainActivity 的 onCreate 中:
NavigationView navigationView = findViewById(R.id.nav_view);
navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupWithNavController(navigationView, navController);
您可以像上面那样设置导航视图。就这样。并且不要像下面这样设置 appBarConfiguration:
drawer = findViewById(R.id.drawer_layout);
appBarConfiguration = new AppBarConfiguration.Builder(
R.id.fragment1, R.id.fragment2, R.id.fragment3
).setOpenableLayout(drawer).build();
NavigationUI.setupWithNavController(toolbar, navController, appBarConfiguration);
如果你不想要工具栏,这是不必要的。
没有汉堡按钮,您仍然可以通过滑动来打开抽屉。如果你想要一个汉堡按钮,在设置 onClickListener 的布局上放置一个按钮来打开抽屉。
FloatingActionButton fabNavigation = view.findViewById(R.id.fab_navigation);
fabNavigation.setOnClickListener(view1 -> onClick());
抽屉开启方法示例:
public void onClick(View view) {
drawer.openDrawer(GravityCompat.START);
}