根据显示的片段替换工具栏布局

2024-01-22

我有一个带有导航抽屉的活动,它替换了活动上的 main_fragment_container 。 当显示其中一个片段时,我想更改工具栏的布局并向其添加一个微调器(并在片段隐藏时将其删除)。

我的布局看起来像这样:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:sothree="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_parent_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:fitsSystemWindows="true">

<android.support.v7.widget.Toolbar

    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    sothree:theme="@style/AppTheme.ActionBar" />

<android.support.v4.widget.DrawerLayout
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- Main layout -->
    <FrameLayout
        android:id="@+id/main_fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!-- Nav drawer -->
    <fragment
        android:id="@+id/fragment_drawer"
        android:name="com.idob.mysoccer.ui.DrawerFragment"
        android:layout_width="@dimen/navigation_drawer_width"
        android:layout_height="match_parent"
        android:layout_gravity="left|start" />
</android.support.v4.widget.DrawerLayout>

不确定您想要完成什么,但我认为,如果可能的话,您应该通过让片段自定义工具栏而不是替换它来解决此问题。您可以根据您的需要让片段在工具栏上隐藏/显示视图。

Add setHasOptionsMenu(true);在碎片中OnCreateView()然后覆盖onOptionsMenuCreated()

像这样:

@Override
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    setHasOptionsMenu(true);
    return inflater.inflate(R.layout.result_list, container, false);
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.this_frag_menu, menu);
    super.onCreateOptionsMenu(menu, inflater);
}

如果您需要使用工具栏执行更具体的操作,您可以使用以下命令获取实例

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据显示的片段替换工具栏布局 的相关文章

随机推荐

  • IDEA 停靠窗口布局

    是否可以更改 IDEA 中停靠工具窗口的布局方式 目前 最底部的窗口占据了所有水平空间 而左右窗口不占据所有垂直空间 因为底部窗口 是否可以安排布局 使左侧和右侧停靠的窗口占据所有垂直空间 而底部窗口占据剩余的空间 IE 拥有这个 Tree
  • 清晰的背景透明用户控制

    我正在研究 ImageButton 其中我绘制了该按钮的每个状态 每个状态都有多个图像 例如 mouseOver mouseDown 等 我使用以下代码使控件变得透明 public ImageButton InitializeCompone
  • Spark ML 和 MLLIB 包之间有什么区别

    我注意到有两个LinearRegressionModelSparkML 中的类 ML 包中的一个类 spark ml 和另一个MLLib spark mllib 包裹 这两者的实现方式完全不同 例如那个来自MLLib实施Serializab
  • 如何在 MDI MFC C++ windows 应用程序中动态更改 CFormView WIDTH 或 HEIGHT?

    1997年 我使用C 创建了一个MDI MFC程序 我创建了一个名为 XFormFiew 的类 它扩展了 MFC CFormView 类 In OnInitialUpdate 事件方法 我编写了一些代码来自动修改视图的缩放 过去 大多数屏幕
  • 批处理脚本中修改日期过滤器?

    我有一个批处理脚本 它完全按照我想要的方式执行 只是想让它一直运行 但为了做到这一点 需要确保它选择的文件没有在使用中 最简单的方法是 如果修改日期在 3 小时内没有更改 那就很好 所以我有这个电话 for f in d recorded
  • Android 与服务器之间的两种通信方式

    我想要服务器和 Android 之间进行两次通信 Android 想要每 10 分钟后将我当前的位置坐标发送到服务器 我可以随时向服务器发送消息或图像 同样 我想在需要时从服务器发送数据到 Android 我的应用程序的架构应该是什么 从
  • 使用 capistrano 在 amazon EC2 上部署到生产环境时,资产不会预编译

    我致力于使用 capistrano 部署到生产环境 我面临几个问题 在解决其中大部分问题的同时 我们还有最后一个问题 我们的预编译资产选项无法在生产环境中正确编译它们 因此 我们无法使用最新开发的功能 因为它们严重依赖 JS 在不试图影响任
  • 如何修复 Plotly Dash 中的“下拉菜单读取”错误

    我尝试重新创建网络上显示的以下示例走向数据科学示例 我编写了以下代码并对其进行了修改 import dash import dash core components as dcc import dash html components as
  • 使用ggplot2调整x标签和图表之间的距离

    我试图缩短 x 轴标签和图表之间的距离 以便更清楚地看到哪个条对应哪个标签 这是代码和图表 graph196 lt ggplot serazene196a aes x okres2 y NEPO ANO NE mean 100 ordere
  • 使用找到的模式从 Java 正则表达式匹配器获取 NULL 值

    我正在尝试让以下正则表达式在我的字符串上工作 Pattern Regex Pattern compile d days d d hours h d minutes m d seconds s Pattern CANON EQ Pattern
  • Visual Studio 2010 Premium 是否包含合同工具?

    根据这个特征矩阵 http www microsoft com visualstudio en us products 2010 default mspx compare Visual Studio 2010 Premium RC 包含 静
  • 如何解释 MySQL EXPLAIN 的输出?

    我想选择栏目内容text from entrytable EXPLAIN SELECT text FROM entrytable WHERE user username status 1 status spam user no spam s
  • 基于电子应用程序的类似于 Wiki 的表格排序

    我正在写一个插件Obsidian https obsidian md 使用他们的API https github com obsidianmd obsidian api 希望能达到类似于 wiki 的表格排序 https en wikipe
  • 允许共享起始/结束顶点的定向最大加权二分匹配

    令 G U u V E 为加权有向二分图 即 U 和 V 是二分图的两组节点 E 包含从 U 到 V 或从 V 到 U 的有向加权边 这是一个例子 在这种情况下 U A B C V D E F E A gt E 7 B gt D 1 C g
  • 无法在 Jest 中创建自定义测试环境

    我正在尝试使用 Jest 创建一个自定义测试环境 如其官方所述docs https jestjs io docs en configuration testenvironment string不幸的是我收到以下错误 确定要运行的测试套件 验
  • 如何在数组中查找对象并在 React 组件中显示它?

    我有数组cities与这样的对象 id 1 name New York id 2 name London 我的值为id 我将数组中的元素 名称 放入选择列表 但我需要添加第一个选项 其中包含数组 名称 中的值 该选项具有相应的 id 但我无
  • 带 Cron 作业的 Laravel 调度程序

    我正在使用 laravel 5 1 和 php5 我尝试创建我的 cron 作业来及时删除未付发票 但我测试它以打印用户日志以帮助我知道该作业正在运行 这是我的应用程序 Console Kernel php protected comman
  • 从 PNG 图像或 Java 面板创建 PDF

    我正在寻找一个可以获取图像 PNG 并创建 PDF 的 Java 库 或者直接从已绘制的java面板创建PDF 您可以使用 Gnostice PDFOne for Java 来实现此目的 http www gnostice com PDFO
  • System.IO.Directory.CreateDirectory 仅具有当前用户的权限?

    我希望 asp 应用程序创建一个只能访问该应用程序运行所用的帐户 即 asp 帐户 的文件夹 我其实想用this one http msdn microsoft com en us library 9h4z99zb aspx 但我不知道如何
  • 根据显示的片段替换工具栏布局

    我有一个带有导航抽屉的活动 它替换了活动上的 main fragment container 当显示其中一个片段时 我想更改工具栏的布局并向其添加一个微调器 并在片段隐藏时将其删除 我的布局看起来像这样