android - android 工具栏下的导航 View

标签 android navigation navigation-drawer

我正在尝试添加导航 View ,但它位于工具栏下方。结果,第一项不可见,并且表示处于关闭状态的导航 View 的前三条水平线也未显示。 Please check the screenshot

代码:

<?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_main"
        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:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer" />

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

activity_main_drawer.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/nav_home"
            android:icon="@drawable/ic_action_home"
            android:title="Home" />
        <item
            android:id="@+id/nav_profile"
            android:icon="@drawable/ic_action_profile"
            android:title="My Profile" />
        <item
            android:id="@+id/nav_history"
            android:icon="@drawable/ic_action_history"
            android:title="History" />
        <item
            android:id="@+id/nav_payment"
            android:icon="@drawable/ic_action_payment"
            android:title="Payment Methods" />
        <item
            android:id="@+id/nav_contact"
            android:icon="@drawable/ic_action_contact"
            android:title="Contact" />
        <item
            android:id="@+id/nav_about"
            android:icon="@drawable/ic_action_about"
            android:title="About" />
        <item
            android:id="@+id/nav_logout"
            android:icon="@drawable/ic_action_log_out"
            android:title="Logout" />
    </group>


</menu>

nav_header_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:text="Vitalia"
        android:id="@+id/navHeaderTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</android.support.constraint.ConstraintLayout>

尝试过的解决方案:

我尝试在导航 View 中添加 android:layout_marginTop="@dimen/abc_action_bar_default_height_material" 但结果为 ( screenshot )

如何解决?

最佳答案

试试这个

<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:keepScreenOn="true">


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

        <LinearLayout
            android:id="@+id/container_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:orientation="vertical">

            <android.support.v7.widget.Toolbar
                xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/ColorPrimary"
                android:minHeight="?attr/actionBarSize"
                android:theme="@style/ToolbarColoredBackArrow"  
                app:titleTextColor="@color/White">

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


        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/container_toolbar">

            <FrameLayout
                android:id="@+id/container_body"
                android:layout_width="fill_parent"
                android:layout_height="match_parent"/>
        </LinearLayout>


    </RelativeLayout>

    <fragment
        android:id="@+id/fragment_navigation_drawer"
        android:name="com.fr.fleetrover.fragment.FragmentDrawer"
        android:layout_width="260dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:layout="@layout/fragment_navigation_drawer"
        tools:layout="@layout/fragment_navigation_drawer">
    </fragment>

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

关于android - android 工具栏下的导航 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47150512/

相关文章:

android - 如何使用achartEngine?

java - MockWebServer 的 takeRequest() 方法需要很长时间才能响应或挂起

ruby-on-rails - rails_admin 导航隐藏模型不起作用

java - 使用 ScrimInsetFrameLayout 出错

android - 如何更改导航 View 项目的文本大小?

android - 列表 fragment : prevent race condition between getListView() and onDestroyView()

Madgwick的传感器融合算法的Android实现

javascript - 如何禁用导航覆盖中的主体滚动并在主体中启用它?

html - 为什么我的链接不起作用?

android - 使用抽屉导航或工具栏菜单动画 fragment 过渡