drakeet / MultiType

Flexible multiple types for Android RecyclerView.
Apache License 2.0
5.76k stars 749 forks source link

悬停吸附功能的大胆设想 #246

Closed manondidi closed 5 years ago

manondidi commented 5 years ago

能否提供 多类型悬停吸顶的支持 或者示例 众所周知,悬停吸顶 在android上越来越常见了

而且复杂的场景下 有可能 每个悬停的item也有可能是多类型的 我认为可以再multitype中加入支持, 比方说 一个普通的item, 如果他所绑定的model是特定类型的(集成某个父类),那么就让这个item 具有悬停功能, 把item 和悬停item(ItemDecoration) 都对开发者来说都是普通的一个 item 只是 model的父类是否为某个特殊的类,如果他继承这个类,他就悬停,不继承就不悬停

我在使用multitype的过程中 对悬停一直没有一个非常好的解决方案,ItemDecoration方式接入成本略高, 还有一些其他的开源的集成方案 可能都要让我去用他的adapter,希望作者可以得到重视,悬停吸附效果 至于把悬停功能对外暴露成一个普通的item而通过是否为特殊model来控制悬停是我的抛砖引玉,因为我在ios上是这么处理的,封装了这样的一层

drakeet commented 5 years ago

抱歉,MultiType 只负责类型分发,你说的这不是它的范畴,不应该在 MultiType 层面实现。

manondidi commented 5 years ago

是啊 不应该在你 库里实现, 你能否提供一个好的解决方案 在是用 multitypeadapter前提下呢 毕竟都用了你的adapter 给出悬停的最优示例代码

drakeet commented 5 years ago

你可以 Google 搜索:sticky item decoration github。使用 item decoration 这是很好且简单的方案,缺点是对于 accessibility 适配不太友好,相对来说使用 View 实现对 accessibility 适配较好但性能没有 item decoration 好。由你选择。

cxMax commented 5 years ago

https://github.com/timehop/sticky-headers-recyclerview https://github.com/oubowu/PinnedSectionItemDecoration

这两个项目都可以参考下 😁

manondidi commented 5 years ago

一个粗糙的 解决方案 https://github.com/manondidi/kotlinArch/blob/master/app/src/main/java/com/czq/kotlinarch/example/GameListActivity.kt