停止 Activity 中的工具栏显示在 Fragments 中

Stop toolbar from Activity getting displayed in Fragments

我的activity的当前布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawerLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <include
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:id="@+id/main_toolbar"
        layout="@layout/main_toolbar"/>

    <FrameLayout
        android:id="@+id/flMainContainer"
        android:layout_below="@id/main_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
    </RelativeLayout>

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:menu="@menu/drawer_view"
        app:headerLayout="@layout/header"/>


</android.support.v4.widget.DrawerLayout>

所以它本质上只是一个工具栏和一个 FrameLayout(这是一个由片段填充的容器)。因此,每个片段最终都有这个工具栏,我只想要 MainActivity。我该如何解决这个问题?有些片段有自己的工具栏,但因为只有 activity 中的 FrameLayout 被片段的布局替换,所以 activity 的工具栏始终存在。

如果我给一个片段它自己的工具栏,activity 的工具栏仍将显示在片段的工具栏上方 - 我希望它代替工具栏。

在我的 AndroidManifest 中,我将主题设置为 NoActionBar

感谢任何帮助!

onViewCreated(..) 中的 first 片段中使用此 :-

 if (getActivity()!=null) 
      getActivity().findViewById(R.id.main_toolbar).setVisibility(View.GONE);

如果您不需要 activity 中的工具栏。从您的布局中删除此代码:

<include android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/main_toolbar" layout="@layout/main_toolbar"/>

如果您不需要 activity 中的工具栏。从您的布局中删除此代码

<include 
android:layout_height="wrap_content" 
android:layout_width="match_parent" 
android:id="@+id/main_toolbar" 
layout="@layout/main_toolbar"/>