Android自定义九宫格图片展示,类似微信朋友圈

原创 2018年04月16日 11:29:00

之前网上也找了很多类似的功能,但是很多放在列表中复用item就出现高度测量是0,出现条目中图片空间不显示问题

这里做了一些优化,解决该问题

具体可参考这篇博客,(这里要感谢博主)不过这个放在列表复用时是有上述问题存在的,这边做了个改进

https://blog.csdn.net/hmyang314/article/details/51415396

主要实现功能:

1、九张图片展示,也可全部展示,九张以上显示+n

2、图片点击变暗的效果

3、4张图片是2*2显示

4、可放在recyclerview中显示

5、一张图片时显示比例为3:2


优化部分 NineGridLayout 该类中onMeasure重写重新测量高度

下面超出一张部分的设置布局宽高可以删除了

下面自定义的图片一张时设置填充控件

/**
 * 描述:
 * 作者:wtx
 * 时间:2017/4/10
 */
public abstract class NineGridLayout extends ViewGroup {
@Override

    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

        int widthSize = MeasureSpec.getSize(widthMeasureSpec);

        mTotalWidth  = getDefaultSize(widthSize,widthMeasureSpec);

        mSingleWidth = (int) ((mTotalWidth - mSpacing * (3 - 1)) / 3);

        int size = getListSize(mUrlList);

        itn width = mTotalWidth  ;

        int heigth = 0;

        if (size = 1){

            width = mSingleWidth*2;

            height = mSingleWidth*3;

        }else if(size >1){

            generateChildrenLayout(size);

            width = mTotalWidth;

            heiht = (int) ((mSingleWidth*mRows+ mSpacing* (mRows-1) );

        }

        setMeasuredDimension(wid,height);

    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36726461/article/details/79957932

Android自定义控件系列之九宫格解锁

-
  • 1970年01月01日 08:00

Android:NineGridLayout — 仿微信朋友圈和QQ空间的九宫格图片展示自定义控件

NineGridLayout 一个仿微信朋友圈和QQ空间的九宫格图片展示自定义控件。 一、介绍 1、当只有1张图时,可以自己定制图片宽高,也可以使用默认九宫格的宽高; ...
  • HMYANG314
  • HMYANG314
  • 2016-05-15 03:51:14
  • 15889

自定义ViewGroup打造微信朋友圈之九宫图效果

相信很多朋友用过微博和微信,比如在微博的首页里面有个九宫图的功能,请看下方我截的图,正是你看到的那样可以放九张图片,而且这九张图片拼在一起刚好是一个正方形。需要注意的是当四张图片的时候需要上面下面各两...
  • manymore13
  • manymore13
  • 2016-03-23 13:59:10
  • 9548

Android开发-优雅的实现动态图片排版(类似微信图片展示效果)

介绍效果展示 说明上面的图片排版 - 实现了动态布局,针对不同图片的数量展示不同的排版布局。效果类似微信朋友圈的图片排版,效果略有不同。 - 正方形的图片控件,高度会随着宽度一起变化。实现...
  • Card361401376
  • Card361401376
  • 2016-11-04 00:42:46
  • 4108

自定义控件实现微博图片九宫格效果

1:自定义GridView public class NineGridlayout extends ViewGroup { private NineGridAdapter adapter;...
  • javaplay11
  • javaplay11
  • 2015-07-29 17:04:45
  • 1148

[Android实例] 自定义控件一百行代码实现微信朋友圈九宫格图片显示

前言    很多时候我们都在刷微博或者微信朋友圈的时候都会看到很多图片,而这些图片的显示跟我们平时很多控件的显示方式都不一样,而且,当我们仔细去观察后就会发现,他加载的图片都是根据图片数量动态加载的,...
  • MYBOYER
  • MYBOYER
  • 2015-02-27 16:34:22
  • 6775

仿微信朋友圈【九宫格的实现】

最近有个想法,想用环信的sdk去做个社交类的小demo玩。在此之前,先来模仿下微信的朋友圈九宫格效果。同时也兼容了QQ的做法,如果数据集大于九张时,就在最后一张图片上显示一层遮罩效果,并显示剩余图片的...
  • xiaxiazaizai01
  • xiaxiazaizai01
  • 2017-04-18 18:39:31
  • 3974

类似微信朋友圈九宫格图片

  • 2016年05月13日 13:38
  • 146KB
  • 下载

Android 仿微信朋友圈9宫格图片展示&多选图片

  • 2016年03月31日 14:54
  • 5.38MB
  • 下载

自定义view 图片展示 九宫格 完美适配

有一段时间没有写了,一直在赶项目,没有办法。    项目中有一个需求 相信很多项目都会有 多图上传 然后展示多图 相信百度很多这样的开源控件。下面简单介绍我使用的这个控件 先直接上代码(包...
  • hao_m582
  • hao_m582
  • 2017-02-18 19:53:16
  • 1147
收藏助手
不良信息举报
您举报文章:Android自定义九宫格图片展示,类似微信朋友圈
举报原因:
原因补充:

(最多只允许输入30个字)