Android微信九宫格图片展示控件
程序员文章站
2022-05-10 11:50:53
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/214 Android微信九宫格图片展示控件 半年前,公司产品的帖子流这块进行大改版,像素级的复制微信朋友圈的效果,发现微信的图片展示9宫格有些不好处理,经过几 ......
版权声明:本文为xing_star原创文章,转载请注明出处!
本文同步自
android微信九宫格图片展示控件
半年前,公司产品的帖子流这块进行大改版,像素级的复制微信朋友圈的效果,发现微信的图片展示9宫格有些不好处理,经过几番google,找到了一个*,https://github.com/hmy314/ninegridlayout ,这个项目就是为了微信9宫格而诞生的,真是方便了后来的人,极大提高了我们的开发效率。
简单说下ninegridlayout的实现吧,ninegridlayout继承的是viewgroup,图片所在的区域都是一个个的imageview,这些imageview在被添加到父容器之前,已经计算出了宽高,以及对应在ninegridlayout的坐标,addview的时候就已经大致固定了imageview的位置了。当然了在图片被真正加载出来后,也是支持重新设置imageview的位置。
总的来说,代码不是很复杂,运行github上的sample,自己跟踪下执行过程,应该就能够看懂作者的设计思想,于是我就复制了这两个关键类,应用到了公司的产品中。
此外,我们还可以在这个代码的基础上进行修改,满足一些变种的图片展示需求。
我们可以看一下,sample中的一些展示效果,如下图
最近几天新产品有个需求,我对这个开源项目进行了一些定制,变成了如下的效果
这个项目,还是能够给我们带来很大的参考价值,基于这个项目做一些二次开发,可以满足类似的产品需求。
github项目地址:
https://github.com/hmy314/ninegridlayout
上一篇: vuex 源码分析(六) 辅助函数 详解