【发布时间】:2022-08-17 18:33:17
【问题描述】:
我有一个具有多种视图类型的回收器视图:
我已经能够让垂直滚动工作,但是如何使用具有多种视图类型的 recyclerview 进行水平滚动视图?
我将 GridLayout Manager 用于单个 recyclerview
布局我想使用水平滚动视图
<HorizontalScrollView
xmlns:android=\"http://schemas.android.com/apk/res/android\"
xmlns:app=\"http://schemas.android.com/apk/res-auto\"
xmlns:tools=\"http://schemas.android.com/tools\"
android:layout_width=\"match_parent\"
android:padding=\"10dp\"
android:layout_height=\"wrap_content\">
<LinearLayout
android:orientation=\"horizontal\"
android:layout_width=\"wrap_content\"
android:layout_height=\"wrap_content\"
android:layout_marginTop=\"10dp\">
<ImageView
android:id=\"@+id/img_top_picks\"
android:layout_width=\"100dp\"
android:layout_height=\"100dp\"/>
</LinearLayout>
</HorizontalScrollView>
MainAcitivity -- 使用 recyclerview 的活动
binding.rcvNft.apply {
val gridLayoutManager = GridLayoutManager(this@MainActivity, 6)
gridLayoutManager.spanSizeLookup = object : SpanSizeLookup() {
override fun getSpanSize(position: Int): Int {
return when (nftAdapter.getItemViewType(position)) {
R.layout.rcv_lyt_title -> 6
R.layout.rcv_lyt_featured -> 6
R.layout.rcv_lyt_top_picks -> 1 --> //I want to use a horizontal scroll view for this layout
R.layout.rcv_lyt_trending -> 6
else -> 1
}
}
}
layoutManager = gridLayoutManager
setHasFixedSize(true)
adapter = nftAdapter
}
现在,这些项目很小/包装,只能从内部滚动。见下图:
标签: java android kotlin android-recyclerview