0

我有一个包含在 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 中的回收器视图的问题。

我哪里错了?

4

0 回答 0