recycleview的多布局实现----带时间列表的图片管理集

一、效果图


如上图所示:时间是一个布局,图片是一个布局。用recycleview的多布局实现上边的效果。

二、具体实现

1、首先多布局,肯定要能区分出来是哪个布局。重写adapter中的getItemViewType()方法来区分,具体实现:

viewtype可以灵活定义,可以在实体类中,也可以通过其他形式,根据position来区分。

2、为不同的viewType引入其对应的布局,并创建对应的viewholder

说明:viewtype最好定义为常量,不要像我这里一样写成1,2。


3、绑定数据

判断viewholder属于哪种,在给对应的控件填充数据。

4、设置recycleview的样式

三、图片展示为GridView布局样式

可能会想,把LinearLayoutManager换成GridLayoutManager就可以了,来看下效果

效果图:


并列三个item,时间占了一个位置,我们不想要这样的效果,我们想要的是时间是一个单独的一行,图片展示为网格布局的效果。

这时候就用上了setSpanSizeLookup了。

作用就是灵活的设置每行显示的个数。上边的代码是根据adapter中的viewType来灵活设置span size的。运行效果如下:

你可能感兴趣的:(recycleview的多布局实现----带时间列表的图片管理集)