すべての製品を1つのビューで表示するアプリを作成しています。 recyclerviewにすべてのアイテムを表示してスクロールできないようにしたいのですが、親ビュー(ScrollView)をスクロールするだけです。しかし問題は、リサイクラーの高さですべてのコンテンツをラップできないことです。
これは私のコードです:
<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>
ヘッダーがこのライブラリを使用しているためにそうしている場合、それを行うのは悪い習慣です https://github.com/emilsjolander/StickyListHeaders
それはあなたにヘッダーを与え、あなたは中にリストのあるscrollviewを必要としません。
この方法を続行したい場合は、通常のScrollviewの代わりにNestedScrollViewを使用してください。
https://developer.Android.com/reference/Android/support/v4/widget/NestedScrollView.html
あなたが望むようにネストされたスクロールを無効にすることができます
NestedScrollView
とsetNestedScrollingEnabled(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>