Display header as one row in GridLayoutMnager
还没有人认领这个 Issue。
评估
调研方向
先从 issue 中展示的 GridLayoutManager SpanSizeLookup 和 adapter getItemViewType 实现开始,然后跟踪 withLoadStateHeaderAndFooter 如何定位 header 和 footer。当 header 和 footer 各自占据完整的 GridLayoutManager span 数且不影响 item 的放置时,工作就完成了。
由索引模型根据 Issue 内容生成。
描述
I am trying to show header as one row in Paging3 library using GridLayoutManager. For the footer as one row, I made following implementation :
val header = LoadStateAdapter { showAdapter.retry() }
binding.list.apply {
val layoutManager = layoutManager as GridLayoutManager
layoutManager.spanSizeLookup = object : SpanSizeLookup() {
override fun getSpanSize(position: Int): Int {
return if (showAdapter.getItemViewType(position) == ShowAdapter.LOADING_ITEM)
1 else layoutManager.spanCount
}
}
adapter = showAdapter.withLoadStateHeaderAndFooter(
header = header,
footer = LoadStateAdapter { showAdapter.retry() }
)
}
And in the Adapter, I have following implementation :
override fun getItemViewType(position: Int): Int {
return if (position == itemCount) SHOW_ITEM else LOADING_ITEM
}
How about header? How can I display it in one row?
- 主要语言
- Kotlin
- 星标
- 509
- 派生
- 268
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
android/codelab-android-paging 的其他 Issue
-
难度 1/5 1 小时以内 新手友好度 62/100
android/codelab-android-paging#236 · 3 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 35/100
-
难度 4/5 3-5 天 新手友好度 38/100
-
难度 2/5 1-3 小时 新手友好度 35/100
android/codelab-android-paging#243 · 1 条评论 · 1 个 reaction ·
-
难度 2/5 1-2 天 新手友好度 35/100
android/codelab-android-paging#241 · 1 条评论 ·
查看 android/codelab-android-paging 的全部 Issue
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 92/100
-
难度 1/5 1 小时以内 新手友好度 92/100
-
难度 1/5 1 小时以内 新手友好度 95/100
-
bug
难度 2/5 1-3 小时 新手友好度 75/100
recloudstream/cloudstream#3226 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
Kotlin/kotlinx.serialization#3277 · 2 个 reaction ·
维护者通常 1 天内回复