导航抽屉Android应用程序中的片段布局

时间:2016-11-11 08:24:17

标签: android android-layout android-fragments

我是Android应用程序的新手,刚刚开始学习。我正在使用导航抽屉和片段

编写应用程序

它在布局上运行良好,但使用Fragment内容隐藏在导航顶栏中

预期显示就像是

expected

但是,这就是布局

的方式

enter image description here

NEXT DATE 隐藏在操作栏

后面

布局代码

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    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:openDrawer="start"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.thecoders.periodtracker.MainActivity">

    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true">

        <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>

        <FrameLayout
            android:id="@+id/content_frame"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

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

    <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>

4 个答案:

答案 0 :(得分:2)

在FrameLayout中添加它。

app:layout_behavior="@string/appbar_scrolling_view_behavior"

这也是。

xmlns:app="http://schemas.android.com/apk/res-auto"

答案 1 :(得分:0)

script2.js中添加topMargin:

Framelayout

答案 2 :(得分:0)

在协调器布局中放置一个相对布局,并将规则添加到框架布局中,使其位于appBarLayout下方,如下所示:

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

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

        <android.support.design.widget.AppBarLayout
            android:id="@+id/app_bar_layout"
            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>

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

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

答案 3 :(得分:0)

你可能应该将你的framLayout包装在NestedSCrollView中(尽管不是必需的)。

诀窍是这一行:

  

应用程式:layout_behavior = “@串/ appbar_scrolling_view_behavior”

如果你给他们一个,那么CoordinatorLayout的孩子会有不同的表现 Behavior

<android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="fill_vertical"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <!-- Rest of the code there -->

        </FrameLayout>
</android.support.v4.widget.NestedScrollView>