我有一个ListView
包含大约600个元素,在它的正上方有两个微调器用于筛选列表。当我开始向下滚动ListView时,它会先滚动整个页面以隐藏两个微调器,然后再滚动实际的ListView。
(红色框是framelayout)
我已经画出了我当前的布局和想要的效果。因此,首先要看到两个微调器,一个列表项,我用它作为listview的头,然后是listview本身。当您开始滚动时,我希望首先在工具栏下显示微调器,然后启动要滚动的项。
有可能吗?如果不是,有什么好的方法可以在不占用太多屏幕的情况下显示列表筛选控件?
编辑:
所以我开始用nestedscrollview进行实验,它很有效。这是我的布局:
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="20dp"/>
<Spinner
android:id="@+id/spinner2"
android:layout_width="fill_parent"
android:layout_height="20dp"/>
<include
android:id="@+id/header_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/team_ratings_item" />
<ListView
android:id="@+id/lvTeams"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
但是在这种布局下,listview显示为只有一行可滚动。如果我把它的高度设置为6000dp,它基本上就是我想要的…有没有办法正确设置它的高度?
最佳答案
android不允许在另一个aScrollView
中有一个可滚动的视图(例如listview)。
最近,支持库有一个NestedScrollView。要解决这个问题,只需在xml布局文件中将ScrollView
替换为NestedScrollView
。