我正在尝试创建一个带有标题的布局,在它下面有一个横幅,然后在横幅下面创建一些ListView.我希望整个屏幕可以滚动,除了标题.现在我知道ListView不会在ScrollView中滚动,所以我已经将ListView的高度设置得足够大以显示所有项目.问题是,即使经过这些更改,我也看到ListView独立滚动,整个屏幕不可滚动.
`
<include android:id="@+id/logo_header" android:layout_width="fill_parent" android:layout_height="wrap_content" layout="@layout/screen_header" /> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:layout_weight="0.8" android:background="#f2f2f2"> <include android:id="@+id/mcUser" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/complaint_reporters_details" android:layout_weight="2" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:weightSum="9" android:layout_weight="2"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:weightSum="1" android:layout_weight="3" android:focusableInTouchMode="false" android:paddingLeft="30dp" android:paddingRight="30dp"> <ImageView android:id="@+id/mcShowList" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:scaleType="fitXY" android:src="@drawable/list_icon" android:layout_weight="0.2" /> <TextView android:id="@+id/mcShowList_label" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:textStyle="bold" android:textSize="12sp" android:textColor="#929292" android:maxLines="1" android:text="List" android:layout_weight="0.8" android:layout_marginTop="-8dp" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:weightSum="1" android:layout_weight="3" android:gravity="center_vertical|center_horizontal" android:paddingLeft="30dp" android:paddingRight="30dp"> <ImageView android:id="@+id/mcShowMap" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:scaleType="fitXY" android:src="@drawable/map_view" android:layout_weight="0.2"/> <TextView android:id="@+id/mcShowMap_label" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:textStyle="bold" android:textSize="12sp" android:textColor="#929292" android:maxLines="1" android:text="Map" android:layout_weight="0.8" android:layout_marginTop="-8dp" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:weightSum="1" android:layout_weight="3" android:focusableInTouchMode="false" android:paddingRight="30dp" android:paddingLeft="30dp"> <ImageView android:id="@+id/mcShowAnalytics" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:scaleType="fitXY" android:src="@drawable/analytics_icon" android:layout_weight="0.2" /> <TextView android:id="@+id/mcShowAnalytics_label" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:textStyle="bold" android:textSize="12sp" android:textColor="#929292" android:maxLines="1" android:text="Analytics" android:layout_weight="0.8" android:layout_marginTop="-10dp" /> </LinearLayout> </LinearLayout> </LinearLayout> <RelativeLayout android:layout_weight="0.2" android:layout_width="fill_parent" android:layout_height="400dp"> <FrameLayout android:id="@+id/mcMapContainer" android:layout_width="match_parent" android:layout_height="fill_parent"/> <LinearLayout android:id="@+id/mcAnalyticsContainer" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="fill_parent"> <FrameLayout android:id="@+id/mcChartContainer" android:layout_gravity="center" android:layout_width="200dp" android:layout_height="200dp"/> <GridView android:id="@+id/mcAmenityList" android:layout_height="0dp" android:layout_weight="7" android:layout_width="match_parent" android:numColumns="3"/> </LinearLayout> <LinearLayout android:id="@+id/mcListContainer" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:weightSum="1"> <TextView android:text="Open Complaints" android:textColor="@color/red_btn_bg_color" android:textSize="18dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical|center_horizontal" android:padding="5dp" /> <ListView android:id="@+id/mcListOpen" android:layout_width="match_parent" android:layout_height="wrap_content"/> <TextView android:text="Closed Complaints" android:textColor="@color/red_btn_bg_color" android:textSize="18dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical|center_horizontal" android:padding="5dp" /> <ListView android:id="@+id/mcListClosed" android:layout_width="match_parent" android:layout_height="wrap_content"/> </LinearLayout> </RelativeLayout> </LinearLayout> </ScrollView>
`
解决方法
将滚动视图的高度从match_parent更改为wrap_content.因为滚动视图仅在其总高度大于父视图的高度时才启用滚动.即替换
<ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true">
使用此代码:
<ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:fillViewport="true">