Android MultiType第三方库的基本使用和案例+DiffUtil的简单用法

目录

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中有相关页面介绍。

1.4.github地址:https://github.com/drakeet/MultiType

    参考文章:Android 复杂的列表视图新写法。

  参考文章:Android的基本使用和复杂页面的写法实例。 

猜你喜欢

转载自blog.csdn.net/bfboys/article/details/83153990