工具栏在景观中被推回

时间:2014-12-05 03:55:13

标签: android android-layout android-toolbar

在我的 layout-sw600dp-land 文件夹中,此布局文件用于应用程序启动的主要活动。应用程序启动后,会以编程方式将两个片段添加到相关的框架布局中。

此当前布局导致工具栏被推回到两个框架布局后面。

activity with two fragments with pushed back toolbar

viewpager片段和右边的片段占据了工具栏空间,工具栏被推回到它们后面。

<LinearLayout 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="match_parent"
    android:orientation="horizontal" >

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:orientation="horizontal" >

        <android.support.v7.widget.Toolbar
            android:id="@+id/my_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:minHeight="?attr/actionBarSize"
            app:theme="?attr/ToolBarStyle" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:baselineAligned="false"
            android:orientation="horizontal" >

            <FrameLayout
                android:id="@+id/fragment1"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:paddingRight="4dp" />

            <FrameLayout
                android:id="@+id/fragment2"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:paddingRight="4dp" />
        </LinearLayout>

        <include layout="@layout/nav_drawer_layout" />
    </android.support.v4.widget.DrawerLayout>

</LinearLayout>

双窗格(片段)工具栏布局的适当语法是什么?

1 个答案:

答案 0 :(得分:0)

解决!

<LinearLayout 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="match_parent"
    android:orientation="vertical" >

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:orientation="vertical" >

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

            <android.support.v7.widget.Toolbar
                android:id="@+id/my_toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:theme="?attr/ToolBarStyle" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:baselineAligned="false"
                android:orientation="horizontal" >

                <FrameLayout
                    android:id="@+id/fragment1"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1" />

                <FrameLayout
                    android:id="@+id/fragment2"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1" />
            </LinearLayout>
        </LinearLayout>

        <include layout="@layout/nav_drawer_layout" />
    </android.support.v4.widget.DrawerLayout>

</LinearLayout>

需要注意的一点是,我希望将导航抽屉显示在所有内容之上,甚至是工具栏上,这就是为什么@ GabrieleMariotti的评论没有导致我理想的解决方案。使用此布局,可以显示两个片段,并使抽屉布局显示在操作栏上。