android - 如何使用android导航组件添加菜单项

标签 android menuitem android-navigation

我正在尝试向应用程序的工具栏添加菜单

我的应用程序基于单 Activity 多 fragment

我正在使用导航组件,我的应用程序风格是:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

我正在 MainActivity 的 onCreate 方法中配置 grapp,如下所示:

appBarConfiguration = AppBarConfiguration(navController.graph)
setupActionBarWithNavController(navController,appBarConfiguration)

我的问题是如何为不同的 fragment 添加不同的自定义菜单项? 另外,我添加了后退按钮如何处理它的点击并将其隐藏在第一个 fragment 上?

最佳答案

您的设置似乎正确。请确保您的 fragment 具有 setHasOptionsMenu(true) (可以位于 onViewCreated 下),并且您实际上是在 fragment 的 onCreateOptionsMenu 下展开菜单。重要的是要注意,您的 fragment 标题将根据导航位置进行管理(在 android:label 下指定的内容)

关于android - 如何使用android导航组件添加菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60207947/

相关文章:

java - android.view.InflateException : Binary XML file line #13: Error inflating class android. widget.TextView

android - 解决Android广告ID违规问题

delphi - 即使在 Items.clear 之后,TPopupMenu 仍保留最大宽度

javascript - 我可以通过其单击事件响应列表项中的菜单项吗?

android - 使用新工具栏组件、隐藏和显示抽屉导航图标、Home Up 图标从 fragment 中单击事件的问题

java - 使用受密码保护的网站的 Jsoup 获取 HTML 源代码

android - 从服务 android 调用 Javascript

C# 运行 Windows 窗体应用程序不以窗体开头

android - ViewPager PagerObserver 未注册

android - 在带有深度链接的导航图中打开 Activity 导致崩溃