目录
1.MultiType简单介绍
1.1.MultiType用于比较复杂的页面。
如下图,今日头条用到了MultiType处理各种复杂的页面。
这种还是比较简单的类型。因为一个页面也就这种类型。
下面看看这个页面。
这个就比较复杂了,所以这时候MultiType的作用就体现出来了。
一个页面用一个单独的RecyclerView就可以实现。
再比如微博列表页面:
有纯文本的、代转发原文的,带图片的、带视频的、带文章的等等,甚至穿插一条可以横向滑动的好友推荐条目。
不同的item类型众多,而且随着业务发展,还会更多。
如果我们使用传统的开发方式,经常要做一些繁琐的工作,代码可能都堆积在一个Adapter中,我们需要复写
RecyclerView.Adapter的getItemViewType方法,罗列一些type整型常量,并且ViewHolder转型、绑定数据
也比较麻烦。
一旦产品需求有变,或者产品设计需要增加一种新的item类型,我们需要去代码堆里找到我们原来的逻辑去修改,
或者找到正确的位置去增加代码。非常繁琐。
1.2.现在有了MultiType,简单来说,MultiType就是一个多类型列表视图的中间分发框架,它能帮助你快速并且清晰
地开发一些复杂的列表页面。它本是为聊天页面开发的,聊天页面的消息类型也是有大量不同种类,并且新增频繁
而MultiType能够轻松胜任,代码模块化,随时可扩展新的类型进入列表当中。它内建了类型-View的复用池系统,
支持RecyclerView,使用简单灵活,令代码清晰,适应需求变化。
1.3.MultiType也能轻松实现如下页面。
在github中有相关页面介绍。