抽屉式布局中的子视图重叠问题

4
我一直在尝试创建一个带有ViewPager和LinearLayout的DrawerLayout。问题是,ViewPager和LinearLayout在视图的顶部重叠,我所有让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"
但所有这些值似乎都被忽略了,即使改变LinearLayout的android:layout_width也被忽略了。我想我可能忽视了一些显而易见的东西,但如果有人对如何做到这一点有建议,那将不胜感激。
1个回答

9

第二个子元素可以是除了ListView之外的其他视图吗?例如LinearLayout或任何其他视图?我尝试使用android:layout_gravity="start"放置一个LinearLayout,但出现了以下错误:ClassCastException:android.widget.LinearLayout$LayoutParams无法转换为android.support.v4.widget.DrawerLayout$LayoutParams - BigDan
@BigDan 可以实现,但请确保将正确的对象(即您的LinearLayout)传递给方法 isDrawerOpencloseDrawer 等。 - Damian Walczak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接