我有一个包含在 NestedScrollableHost 中的回收站视图。
<mobile.widget.NestedScrollableHost
android:id="@+id/nsv_host"
android:layout_width="@dimen/dimen_0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/barrier_title">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_products"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</mobile.widget.NestedScrollableHost>
我正在尝试使用 FlexboxLayoutManager 并将 flexDirection 设置为 Row,因为我想要一个水平滚动的回收器视图。这就是我设置布局管理器的方式:
layoutManager = FlexboxLayoutManager(context).apply {
flexDirection = FlexDirection.ROW
flexWrap = FlexWrap.NOWRAP
}
我将 FlexboxLayoutManager.LayoutParams 设置如下:
val layoutParams = view.layoutParams as? FlexboxLayoutManager.LayoutParams
layoutParams?.apply {
width = view.context?.resources?.getDimension(R.dimen.product_cell_width)?.toInt() ?: 160.dp
flexShrink = 0.0f
alignSelf = AlignItems.STRETCH
}
我现在面临的问题是,每当我开始向右滚动时,回收站视图都会自动跳回开始。
我想这是将 FlexboxLayoutManager 用于包装在 NestedScrollableHost 中的回收器视图的问题。
我哪里错了?