liangjingkanji / BRV

[使用文档] Android 快速构建 RecyclerView, 比 BRVAH 更简单强大
http://liangjingkanji.github.io/BRV/
MIT License
2.49k stars 317 forks source link

ConcatAdapter与HoverLinearLayoutManager同时使用的问题 #424

Open XXQAQ opened 4 months ago

XXQAQ commented 4 months ago

问题描述

首先目前的HoverLinearLayoutManager源码并不支持ConcatAdapter,不过经过简单修改是可以支持的。但修改后仍然存在问题: 使用ConcatAdapter add 2个 BindingAdapter(分别为Header与Content),并且Content中含有实现了ItemHover的悬浮item。 以上描述情况下悬浮的item会错位 排查代码后发现HoverLinearLayoutManager中所有涉及position时均未考虑ConcatAdapter嵌套后的偏移

XXQAQ commented 4 months ago

这个问题我处理好了,这是修改过后的代码: PS:目前仅只支持CocatAdapter中其中的一个BindingAdapter的item可悬浮,不支持所有adapters悬浮

liangjingkanji commented 4 months ago

可以发起pr请求吗? 可以考虑同时修复其他LayoutManager不

XXQAQ commented 4 months ago

不好意思,这周我花了点时间,不仅处理好了ConcatAdapter中多个BindingAdapter需要悬浮ItemHover的问题,甚至还递归处理好了ConcatAdapter嵌套。只是BRV中的代码不兼容这种嵌套的写法,所以我基于原版StickyHeadersLinearLayoutManager改动了相关代码。

XXQAQ commented 4 months ago

可以发起pr请求吗? 可以考虑同时修复其他LayoutManager不

提交PR比较麻烦,能否直接在群里把代码发给你?

liangjingkanji commented 4 months ago

没有pr直接发代码给我算我窃取你的成果, 并不会在git展示你的提交记录, 所以建议你看下如何pr非常简单: pr教程

XXQAQ commented 4 months ago

没有pr直接发代码给我算我窃取你的成果, 并不会在git展示你的提交记录, 所以建议你看下如何pr非常简单: pr教程

已提交