欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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中的一些展示效果,如下图

Android微信九宫格图片展示控件

 

 

最近几天新产品有个需求,我对这个开源项目进行了一些定制,变成了如下的效果

 Android微信九宫格图片展示控件

 

 

这个项目,还是能够给我们带来很大的参考价值,基于这个项目做一些二次开发,可以满足类似的产品需求。

github项目地址:

https://github.com/hmy314/ninegridlayout