如何将导航抽屉放在工具栏下方?

2023-11-27

我的导航抽屉位于工具栏上方。我还添加了一些 xml 代码。请帮助我。

Here my navigation drawer is above toolbar

这是我的 Activity.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://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">

    <include
        layout="@layout/app_bar_categories"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <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/activity_main2_drawer" />

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

和我的 app_bar xml

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:fitsSystemWindows="true"
    tools:context="com.ezybzy.ezybzy.categoris">

    <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:popupTheme="@style/AppTheme.PopupOverlay" />

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

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

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

和我的内容 main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.ezybzy.ezybzy.categoris"
    tools:showIn="@layout/app_bar_categories"
    android:background="#ffffff">
</RelativeLayout>

我使用 android studio 导航抽屉活动创建了导航抽屉。


当然android:layout_marginTop="?attr/actionBarSize"做这份工作

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/my_drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="?attr/actionBarSize">

但问题是抽屉布局位于工具栏的顶部。这就是这里褪色的原因。 你可以通过以下方式消除褪色

mDrawerLayout.setScrimColor(getResources().getColor(android.R.color.transparent));

但在某些设备上它可能看起来是有线的。

Solution

使用 Android studio 时。我们可以创造NavigationDrawerActiviity有3个文件名为

活动主文件

app_bar_main.xml

nav_header_main.xml

内容_main.xml

所以我们可以跳过app_bar_main.xml我们可以消除褪色。

Step 1

使活动的根视图主要为垂直LinearLayout

<LinearLayout 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"
android:orientation="vertical"
android:fitsSystemWindows="true"
tools:context="com.example.MainActivity">
</LinearLayout>

In activity_main.xml add DrawerLayout并包括content_main.xml in DrawerLayout。并添加AppBarLayout上面的DrawerLayout.

<LinearLayout 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"
android:orientation="vertical"
tools:context="com.qproinnovations.schoolmanagement.activity.HomeActivity">
    <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:popupTheme="@style/AppTheme.PopupOverlay" >

        </android.support.v7.widget.Toolbar>

    </android.support.design.widget.AppBarLayout>
    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:openDrawer="start">
    <!-- drawer view -->
        <include layout="@layout/content_main" />
<!-- drawer content -->
        <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/activity_home_drawer" />
    </android.support.v4.widget.DrawerLayout>

</LinearLayout>

Step 2

添加和替换setContentView()导航抽屉活动

setContentView(R.layout.activity_main);

最后我们有

enter image description here

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

如何将导航抽屉放在工具栏下方? 的相关文章

随机推荐

  • 如何在不使用 if 或 for 的情况下判断一个数是正数、负数还是零? [复制]

    这个问题在这里已经有答案了 我想在微处理器中实现符号和零标志设置 所以我需要编写一个函数来查找数字是正数 负数还是零 而不使用if or for循环以及只允许布尔和位运算符 我做了以下事情 但我如何实现它zero健康 状况 int stat
  • 在同一调用中从 Spark Dataframes split 方法中选择数组元素?

    我正在拆分一个 HTTP 请求来查看元素 我想知道是否有一种方法可以指定我想要在同一调用中查看的元素 而无需执行其他操作 例如 from pyspark sql import functions as fn df select fn spl
  • 旋转相机时重复的纹理严重扭曲/晃动

    我最初问这个问题gamedev 但没有一个答案有助于解决问题 而且我仍然不知道真正的原因是什么 我在常见问题解答中没有看到任何关于在 SE 上重新发布问题的内容 所以我只能希望这没问题 此外 回想起来 这个问题可能更多地与图形编程有关 而不
  • 适用于 Android 的 Firebase 电话身份验证,我们可以只验证电话号码而不创建用户帐户吗

    我正在开发一个 Android 应用程序 我只想验证手机号码而不创建用户帐户 是否可以 我正在使用以下代码 private void startPhoneNumberVerification String phoneNumber Phone
  • 如何将新行/回车符插入到 element.textContent 中?

    假设我想动态创建一个新的 DOM 元素并填充其 textContent innerText 带有 JS 字符串文字 该字符串太长 我想将其分成三块 var h1 document createElement h1 h1 textConten
  • 使用 XmlWriter 附加到 XML 文件

    我在用着XmlDocument and XmlWriter将 XML 附加到现有文件中 但我下面的尝试抛出了一个我不理解的异常 该文档已有一个 DocumentElement 节点 Append to xml file XmlDocumen
  • 从 WebBrowser 控件中删除边框

    我有一个位于表单上的 WebBrowser 控件 该控件周围有一个令人恼火的 2px 内嵌边框 这导致我的内容在右侧和底部被裁剪了 4 px 而且我不知道如何摆脱它 控件本身没有任何 BorderStyle 属性 如何删除边框 请参阅屏幕截
  • 生成 PHP 接口

    有没有从现有类生成 php 接口的工具 如果有像 Netbeans 这样的自动 getter setter 创建工具 但对于接口来说 那就太好了 对于编程用途有InterfaceDistiller它允许您从现有类派生接口 如下所示 dist
  • 存储库模式逐步解释[关闭]

    Closed 这个问题是无关 目前不接受答案 有人可以向我解释 NET 中的存储库模式吗 逐步给出一个非常简单的示例或演示 我知道这是一个很常见的问题 但到目前为止我还没有找到满意的答案 作为总结 我将描述存储库模式的更广泛影响 它允许您的
  • C# 中释放 COM 对象

    我知道这个问题之前已经讨论过 但我找不到满意的答案 我有一个电子邮件文件 msg 我像下面一样打开它 然后调用 Display oApp new Microsoft Office Interop Outlook Application ma
  • 向 SQL Server Reporting Services 报告添加交替行颜色

    如何在 SQL Server Reporting Services 报表中对交替行进行着色 Edit 下面列出了很多很好的答案 来自quick and simple to 复杂而全面 唉 我只能选一个 转到表行的背景颜色属性并选择 表达式
  • 在 PySpark 中的值前面添加零

    我有一个数据框df val1 val2 val3 271 70 151 213 1 379 213 3 90 213 6 288 20 55 165 我想将此数据框转换为 val1 val2 val3 271 70 0151 213 01
  • “new”语句后的大括号有什么作用?

    我在看这个例子并想知道第一行的作用 private SiteStreamsListener listener new SiteStreamsListener 看起来您可以通过这种方式声明附加方法或重写方法 例如 我可以执行以下操作吗 Arr
  • 将导入的 scss 文件命名为 .scss 或 .css.scss

    我试图让 livereload 使用 Rails 3 2 我遇到了这个问题 其中提到不使用 css scss 命名导入的 sass 部分 Rails 将 livereload 与 Asset Pipeline 结合使用 导入的 SCSS 文
  • C++ Array vs Vector 性能测试说明 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 为了量化 C 类数组和 C 中向量的性能差异 我编写了这个小程序 https githu
  • Android xml 文件突然显示 java 代码。 [复制]

    这个问题在这里已经有答案了 我昨晚刚刚更改了 build gradle 文件调试部分中的基本 url 因为我的基本 url 已更改 一切都很好 直到今天我启动我的电脑和 android studio 并看到我所有的 xml 文件都有 jav
  • Firebase Cloud Firestore 触发器 context.auth 始终为 null [重复]

    这个问题在这里已经有答案了 我正在使用 Firebase 和 Cloud Firestore 构建一个群组应用程序 用户应该能够在其中创建群组并向其中添加成员 当用户创建组时 我希望云触发器在创建组后将该用户添加到组的成员列表中 触发器看起
  • Android 支持的语言/区域设置列表是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想知道如何为不同语言的文件夹命名 在哪里可以找到 Android 支持的语言列表 自 Android 5 1 起更新的列表 af Afrikaan
  • 无法更改 pty/N 上的终端大小(适用于 ttyN)

    我使用 next 来更改终端大小 rc ioctl fd TIOCSWINSZ ws 当我在 Linux 文本终端下运行这个 通过 Alt Ctrl F1 切换 时 结果是我期望看到的 我的整个输入和输出都在 ioctl 系统调用给出的范围
  • 如何将导航抽屉放在工具栏下方?

    我的导航抽屉位于工具栏上方 我还添加了一些 xml 代码 请帮助我 这是我的 Activity xml