web-dev-qa-db-ja.com

recyclerviewにすべてのアイテムを表示させてスクロールできないようにする方法

すべての製品を1つのビューで表示するアプリを作成しています。 recyclerviewにすべてのアイテムを表示してスクロールできないようにしたいのですが、親ビュー(ScrollView)をスクロールするだけです。しかし問題は、リサイクラーの高さですべてのコンテンツをラップできないことです。

->> I 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>

->>しかし、スペースが非常に小さい

11
Kul Ken

ヘッダーがこのライブラリを使用しているためにそうしている場合、それを行うのは悪い習慣です https://github.com/emilsjolander/StickyListHeaders

それはあなたにヘッダーを与え、あなたは中にリストのあるscrollviewを必要としません。

この方法を続行したい場合は、通常のScrollviewの代わりにNestedScrollViewを使用してください。

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

あなたが望むようにネストされたスクロールを無効にすることができます

11
yanivtwin

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>
10
Sara