如何使recyclerview显示所有项目,不能滚动

时间:2016-12-11 12:16:14

标签: android scroll android-recyclerview

我正在创建一个应用程序,以1视图显示所有产品。我希望recyclerview显示所有项目并且无法滚动,只需滚动父视图(ScrollView)。但问题是不能使回收者的高度包裹所有内容。

-->>I want like this

这是我的代码:               

    <TextView
        android:text="Best seller:"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView4"
        android:textColor="#3f3f3f"
        android:textSize="18sp" />

    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:scrollbars="horizontal"
        android:id="@+id/rv_bestSeller"
        android:layout_height="200dp" />

    <TextView
        android:text="New Product"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView5"
        android:textSize="18sp"
        android:textColor="#3f3f3f" />

    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:scrollbars="horizontal"
        android:layout_height="200dp"
        android:id="@+id/rv_newProduct"/>

    <TextView
        android:text="All Product"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView6"
        android:textSize="18sp"
        android:textColor="#3f3f3f" />
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/rv_allProduct" />
</LinearLayout>
</ScrollView>

-->>But the space is so small

2 个答案:

答案 0 :(得分:11)

如果您因为标题使用此库而执行此操作,那么这样做是不好的做法 https://github.com/emilsjolander/StickyListHeaders

它会为您提供标题,但您不需要包含内容列表的滚动视图。

如果你真的想继续这种方式,请使用NestedScrollView而不是常规的Scrollview

https://developer.android.com/reference/android/support/v4/widget/NestedScrollView.html

可以让你像你想要的那样禁用嵌套滚动

答案 1 :(得分:6)

您应该使用NestedScrollViewsetNestedScrollingEnabled(false)合并。

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:nestedScrollingEnabled="false"
            app:layoutManager="android.support.v7.widget.LinearLayoutManager"/>

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:nestedScrollingEnabled="false"
            app:layoutManager="android.support.v7.widget.LinearLayoutManager"/>

    </LinearLayout>
</android.support.v4.widget.NestedScrollView>