停止活动的工具栏显示在碎片中

时间:2018-03-18 16:23:16

标签: android android-fragments android-activity android-toolbar

我的活动的当前布局:

<?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(这是一个由Fragments填充的容器)。因此,每个片段最终都有这个工具栏,我只想在MainActivity中找到它。我该如何解决这个问题?某些片段有自己的工具栏,但由于活动中只有FrameLayout被片段的布局取代,因此活动工具栏始终存在。

如果我将片段设置为自己的工具栏,则活动工具栏仍会显示在片段工具栏上方 - 我希望它替换工具栏。

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

感谢任何帮助!

3 个答案:

答案 0 :(得分:1)

first的{​​{1}}片段中使用此代码: -

onViewCreated(..)

答案 1 :(得分:-1)

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

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

答案 2 :(得分:-1)

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

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