时间:2021-05-21
最近项目要求上传多图并且多图显示,而且要规则的显示,就像微信朋友圈的图片显示一样。
利用GridView再适合不过了,GridView可以动态加载图片的数量,而且还比较规律,下面说一下自己的思路:
下面贴上部分源码并给大家解析一下
一、首先是GridView的item
这里的SquareLayout布局是自定义的下面会给大家详细讲解。
子项中是一个正方形布局里面嵌套着图片
二、接下来自定义适配器
因为项目需求不同,自己定义的适配器和平时用的不太一样,这里就不贴源码了。大体上也是将图片下载到本地,用Imageloader加载,不过我这里有上传失败的和新建的,所以不太一样。
三、最后在用到的Activity中设置
默认设置GridView的列数为3,根据图片的数量动态设置列数。
最后贴上SquareLayout的源码解析一下
这里主要重写了onMeasure()方法,设置了高宽,需要注意的是在用SquareLayout的时候要设置它的高宽都是match_parent。这样就可以填满GridView的每一项了。
接下来贴图给大家看:
ImgeView的scaleType的属性如果设置FitXY就会充满方形布局,如果center就会居中显示
详细说一下吧:
1)center:保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。
2)centerCrop:以填满整个ImageView为目的,将原图的中心对准ImageView的中心,等比例放大原图,直到填满ImageView为止(指的是ImageView的宽和高都要填满),原图超过ImageView的部分作裁剪处理。
3)centerInside:以原图完全显示为目的,将图片的内容完整居中显示,通过按比例缩小原图的size宽(高)等于或小于ImageView的宽(高)。如果原图的size本身就小于ImageView的size,则原图的size不作任何处理,居中显示在ImageView。
4)matrix:不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理
5)fitCenter:把原图按比例扩大或缩小到ImageView的ImageView的高度,居中显示
6)fitEnd:把原图按比例扩大(缩小)到ImageView的高度,显示在ImageView的下部分位置
7)fitStart:把原图按比例扩大(缩小)到ImageView的高度,显示在ImageView的上部分位置
8)fitXY:把原图按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageView.
本文已被整理到了《Android微信开发教程汇总》,欢迎大家学习阅读。
以上就是本文的全部内容,希望对大家的学习有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
微信朋友圈图片好模糊是为什么?朋友圈怎么发图片?我们经常在微信朋友圈会看到别人在微信晒图,然后图片都是很清晰的。可以自己发微信朋友圈图片的时候却好模糊,为什
微信朋友圈广告 在最新版本中,微信朋友圈开始推送广告,形式和一般朋友圈类似,为“图片+文字”。 广告朋友圈会在右上角显示&ldquo
本文实例为大家分享了android仿微信朋友圈发布动态功能的具体代码,供大家参考,具体内容如下效果图:本文概述用到的开源库:仿照微信的图片选择器,Luban压缩
微信怎么转发朋友圈?微信朋友圈现在可以很火爆的娱乐方式,微商卖东西也是在朋友圈发产品,朋友圈有文字,图片和链接等有些有价值的内容,那微信怎么转发朋友圈?文字
微信视频不清楚怎么调?微信朋友圈怎么发视频?微信朋友圈除了可以发图片文字以外,微信朋友圈还可以发微信小视频哦,但是有微信用户表示微信视频不清楚。如果微信视频