Drawerlayout儿童视图重叠

时间:2013-05-22 14:37:21

标签: android android-layout android-support-library

我一直在尝试制作一个DrawerLayoutViewPagerLinearLayout附加在DrawerLayout的底部。问题是ViewPagerLinearLayout在视图顶部重叠,到目前为止我所有努力将LinearLayout向下移动都失败了。

XML布局:

<?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"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

        <android.support.v4.view.ViewPager
            android:id="@+id/viewpager"
            android:layout_width="match_parent"
            android:layout_height="0dp" >

            <android.support.v4.view.PagerTabStrip
                android:id="@+id/tabstrip"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
        </android.support.v4.view.ViewPager>

        <LinearLayout
            android:id="@+id/linear_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_below="@id/base_activity_viewpager"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/textview"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:textAppearance="@android:style/TextAppearance.Medium"
                android:textIsSelectable="false" />
        </LinearLayout>

        <!-- Naviagtion drawer -->

        <ListView
            android:id="@+id/drawer"
            android:layout_width="240dp"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:background="#111"
            android:choiceMode="singleChoice"
            android:divider="@android:color/transparent"
            android:dividerHeight="0dp" />

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

我已尝试向linear_layout添加几项内容:

  1. android:layout_gravity="bottom"(导致IllegalStateException)
  2. android:layout_below="@id/viewpager"
  3. android:layout_alignparentbottom="true"
  4. 但是,即使更改android:layout_width的{​​{1}},也会忽略所有这些值。我想我忽略了一些显而易见的事情,但如果有人就如何做到这一点提出建议,我将不胜感激。

1 个答案:

答案 0 :(得分:8)

一个drawerlayout只允许2个孩子,第一个是主内容视图,第二个是抽屉。您需要将前两个视图组合成线性布局。 http://developer.android.com/training/implementing-navigation/nav-drawer.html