该项目是一个
Demo
项目,主要用来实现列表中多个Item
展现,九宫格图片展示,以及类似微信的多图预览等功能。之所以没有做成Lib
是由于有些实现需要根据项目的不同需求去修改,如:九宫格的展现方式,图片点击后的其他处理等,抽取出来如果有其他需求,还得在抽取的代码中修改。所以决定放在Demo
中实现所有的功能。Demo
中许多细节也都处理过,所以可以作为一种实现参考。
列表界面仿即刻APP
的消息列表页,里面包含不同的Item
布局,使用MultiType实现,该Lib
提供了详细的使用文档,对于多Item
布局非常方便。
九宫格图片展示其实使用的是GridLayoutManager
中提供的setSpanSizeLookup()
方法,用来设置每个Item
占据的Span
。具体可参考ImgGridLayoutManager
类。
图片预览效果类似与微信的图片预览,进入预览时有共享动画,可拖动退出图片预览。由于Gif
过大所以只能放置链接。
图片预览的处理实现,使用WeixinPhotoViewer,它是在PhotoView
的基础上实现了预览时类似与微信的转场效果。该Demo
在此基础上添加了拖动退出图片预览的功能。
Demo
主要使用了MultiType
和WeixinPhotoViewer
并在此基础上根据自己的需求进行了改造。特此感谢。