高级UI<第五十二篇>:仿oppo相册粘贴性头部效果
2020-04-27 本文已影响0人
NoBugException
二话不说,先看效果,如下:
61.gif粘贴性头部常常在recyclerview中使用,效果如上图所示。
实现这个效果的思路是:
(1)编写recyclerview基本代码,使用GridLayoutManager网格布局,加载本地图片,实现如下效果:
(2)读取图片本身的时间数据,用时间将图片分类,效果如下:
图片.png因此,recyclerview的Item的类型有两种(图片和分类栏),使用SpanSizeLookup控制每行显示的Item数量,代码实现如下:
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
BaseDataBean dataBean = list.get(position);
if(dataBean.getItemViewType() == ItemType.TYPE_TEXT){
return 4;
}else{
return 1;
}
}
});
(3)实现粘贴性头部效果
方案有两种:DrawOver
和addOnScrollListener
,本人使用addOnScrollListener
方式实现粘贴性头部效果,具体实现可以直接研究下我的代码,也是为了节省我宝贵的时间,所以就不详细说明了,github地址如下:
https://github.com/NoBugException/AllRecyclerView
[本章完...]