我有一个包含操作栏,导航菜单和主要内容的xml布局。

操作栏包含一个搜索区域和一个用于切换导航菜单的按钮。

<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://szchemas.android.com/apk/res-auto"
    android:id="@+id/drawerLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true"
    android:focusableInTouchMode="true">

    <android.support.design.widget.CoordinatorLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/AppTheme.AppBarOverlay">

            <android.support.v7.widget.Toolbar

                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:titleTextAppearance="@style/ToolbarTitleTheme"
                app:popupTheme="@style/AppTheme.PopupOverlay" />
        </android.support.design.widget.AppBarLayout>

        <include layout="@layout/content_main" />

</android.support.design.widget.CoordinatorLayout


<android.support.design.widget.NavigationView
    android:id="@+id/navigationMenu"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@android:color/white"
    app:menu="@menu/menu2" />

这是应用程序的外观

在此处输入图片说明

当我显示菜单时,它覆盖了我的操作栏

在此处输入图片说明

我尝试将其添加到导航抽屉

<android.support.design.widget.NavigationView
    .....
    .....
    android:layout_below="@id/toolbar" />

但这没用

===============>>#1 票数:0

您应该将DrawerLayout移到最上层,并将工具栏移出DrawerLayout内容容器。 简而言之,它看起来像:

  • 相对布局
  • ---------工具栏
  • ----------- DrawerLayout
  • -------------- ContentView
  • ------------------- DrawerList。

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/top_parent" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context=".MainActivity"> <include android:id="@+id/toolbar" layout="@layout/toolbar" /> <android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/toolbar"> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/background_color" /> <ListView android:id="@+id/drawer" android:layout_width="260dp" android:layout_height="match_parent" android:layout_below="@+id/toolbar" android:layout_gravity="start" android:layout_marginTop="56dp" /> </android.support.v4.widget.DrawerLayout> </RelativeLayout> 

important:但是, Material Design指南指出, Navigation Drawer应位于Toolbar上方。

===============>>#2 票数:0

我以前也遇到过同样的问题。 现在是这样的:

MainActivity.xml

<android.support.v4.widget.DrawerLayoutxmlns: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:background="@color/cpb_white"
    android:fitsSystemWindows="true">
...
...

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

 <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:background="@android:color/transparent"
                android:minHeight="?attr/actionBarSize"
                android:theme="?attr/actionBarTheme" />

</RelativeLayout>
...
...

<android.support.design.widget.NavigationView
        android:id="@+id/navigationview"
        android:layout_width="320dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@color/cpb_white"
        android:fitsSystemWindows="true"
        android:theme="@style/NavigationTheme"
        app:headerLayout="@layout/header_drawer"
        app:menu="@menu/drawer_mainmenu">


    </android.support.design.widget.NavigationView>

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

Styles.xml

<style name="HomePageTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">#7200d9</item>
        <item name="colorPrimaryDark">#7200d9</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="colorControlNormal">#fff</item>
        <item name="colorControlActivated">#d810a7</item>
        <item name="colorControlHighlight">#f44336</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>

  ask by Amine Messaoudi translate from so

未解决问题?本站智能推荐:

1回复

Android:隐藏操作栏菜单视图,无论菜单项如何

我正在使用导航抽屉在片段之间进行切换。 我的操作栏菜单项与片段有所不同。 我想在打开抽屉时隐藏菜单项视图。 参考该文档,建议按ID查找菜单项并隐藏该菜单项。 但是,我的菜单项的片段有所不同,因此,如何简单地在操作栏上隐藏/显示菜单项视图 ? 是否有一些标志来控制它? 顺便说一
1回复

带有多个图标的android导航抽屉

我目前正在尝试通过进行一些小的更改来修改现有Android应用程序的用户界面。 我需要实现的一项更改是在3个图标之一(开启,关闭,“特殊”)之间修改导航抽屉/滑块切换图标。 您在实例化时创建ActionBarDrawerToggle时提供了图标,在创建对象之后似乎没有方法可以修改该值。 有
1回复

拥有导航抽屉时在操作栏中显示菜单项图标

一直试图在操作栏中显示菜单项搜索(searchWidget)。 我有一个NavigationDrawer,它不会随时隐藏操作栏项。 但是,即使具有大屏幕设备,搜索项仍然总是溢出。 我试过始终在菜单项的showAsAction中使用它,甚至将该菜单项放在onPrepareOptionsM
1回复

在导航抽屉活动中使操作栏透明

我正在使用android studio 3.0,并想使actionbar与活动的背景透明。我只是阅读了所有关于它的问题,但这对我不起作用。帮助我。 minSdkVersion 20 targetSdkVersion 26 这是我的style.xml代码 像这样
6回复

android中的导航抽屉不是全屏

由于谷歌推出了导航抽屉,我试图使用这个组件来创建一个类似Facebook的菜单。 问题是,视觉效果似乎不同。 当抽屉打开时,谷歌的操作栏会保留,而facebook的操作栏则没有。相反,整个屏幕都推到了右侧 我发现有一些lib可以实现这一点,但由于我不喜欢在项目中包含第三方lib,有
1回复

android-菜单项未显示在操作栏中

我正在尝试在操作栏中添加菜单项“完成”。 我只是从另一个显示菜单项的活动中复制并修改了代码。 因此,它应该可以正常工作。 这是活动布局: 并选择choose_affiliator_menu.xml文件: 和Java代码本身:
1回复

将操作栏重力向右更改

我用Navigation Drawer创建了一个新项目,它工作正常,但是我的问题是我想从左到右更改顶部的ActionBar重力。 我想在左侧重力的右侧更改该图标。这是来自Google Play商店的示例图片: *******************编辑***************
2回复

导航抽屉使用Appcompat v7 - 问题?android:attr标签

我在我的项目中使用了操作栏和导航抽屉。 使用appcompat v7和v4。 我添加了appcompat v7 WITH资源。 以下是直接从创建导航抽屉中找到的android示例应用程序中获取的导航抽屉列表的textview 底部的三行都导致我的应用程序失败,它构建正常,但我
3回复

使用导航抽屉时,我无法在右侧更改ActionBar图标

对于我的应用程序,我有一个导航抽屉,并在您第一次创建应用程序时使用Android Studio中提供的抽屉。 我正在尝试更改操作栏右侧的图标,该图标当前是3个点以上。 我创建了一个菜单xml文件,其中包含图标,标题,ID和所有内容,每当我对其进行充气时,我都会使用我为其创建的正确菜单xml文
1回复

主页按钮在旋转时从抽屉图标更改为向上按钮-仅在打开导航抽屉时

我已经在我的应用程序中实现了一个导航抽屉,在大多数情况下,它似乎运行正常。 我将主页按钮设置为导航抽屉图标(汉堡包),并且此按钮在正常旋转中仍然存在。 从图1(人像)和图2(旋转后的风景)可以看出。 但是,如果我打开导航抽屉,然后旋转屏幕,然后关闭导航抽屉,则主页按钮将变为