带有DrawerLayout的ScrollView里面的ListView

Ton*_*ony 6 xml android scrollview

我有一个ScrollView布局,里面有一个ListView.一切正常,但如果我打开DrawerLayout,ScrollView会滚动一点.只需看看这些截图.

在此输入图像描述

在这里我打开DrawerLayout

在此输入图像描述

然后我关闭DrawerLayout. 在此输入图像描述

你可以看到它滚动了一点.如何解决这个问题?这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/menuLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     >

    <RelativeLayout
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ProgressBar
            android:id="@+id/progressWheelBar"
            style="?android:attr/progressBarStyleLarge"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true" />

        <TextView
            android:id="@+id/noDataTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:text="@string/noData"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:visibility="gone" />

        <LinearLayout
            android:id="@+id/actionBarLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/transparent"
            android:orientation="vertical" >

            <RelativeLayout
                android:id="@+id/innerActionBarLayout"
                android:layout_width="match_parent"
                android:layout_height="55dp"
                android:background="@color/material_blue_500" >

                <ImageButton
                    android:id="@+id/menuButton"
                    android:layout_width="36dp"
                    android:layout_height="36dp"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="5dp"
                    android:background="@null"
                    android:src="@drawable/ic_menu_white_24dp" />

                <TextView
                    android:id="@+id/title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="16dp"
                    android:layout_toRightOf="@+id/menuButton"
                    android:textColor="@color/white"

                    android:textSize="18sp" />
            </RelativeLayout>
        </LinearLayout>

        <ScrollView
            android:id="@+id/mainScrollView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_below="@+id/actionBarLayout"
            android:fillViewport="true" 
            android:scrollbars="none"
            >

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical" >
                 <!-- Here goes the frame layout with a listview inside -->
                <FrameLayout
                    android:id="@+id/container"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:visibility="gone"
                    tools:context="ru.tenet.ttk.MainActivity" />
            </LinearLayout>
        </ScrollView>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="2dp"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/actionBarLayout"
            android:background="@drawable/shadow_down" />

    </RelativeLayout>

    <LinearLayout
        android:layout_width="250dp"
        android:layout_height="match_parent"
        android:layout_gravity="left|start"
        android:background="@color/white"
        android:orientation="vertical"
        android:clickable="true" >

        <ListView
            android:id="@+id/menuListView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:listSelector="@drawable/list_selector"
            android:layout_marginTop="15dp"
            android:divider="@null" />
    </LinearLayout>

</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

Dmi*_*hov 0

由于您还没有发布代码,因此很难给出明确的答案。原因之一可能是您的活动中有“windowActionBarOverlay=true”样式设置。由于该设置,活动的内容从页面开头开始并位于 ActionBar 后面。

此外,正如上面的评论者所说,您实际上需要在 ScrollView 中添加 ListView 吗?ListView本身就是一个ScrollView。

最好发布您的抽屉活动和内容活动的代码。