前段时间,产品提出群组头像改为类似微信的九宫格图像,于是在网上找了一个非常好用的控件CombineBitmap,在这里记录一下。

作者的GitHub项目地址:https://github.com/Othershe/CombineBitmap

效果预览:

 

功能

  • 生成类似钉钉、微信 群聊组合头像Bitmap
  • 可使用图片资源id、bitmap或者使用url从网络加载,传入对应数组即可
  • 网络加载时支持线程池
  • 支持磁盘缓存、内存缓存。(记得申请磁盘缓存需要的文件存储权限
  • 对图片资源进行采样率压缩
  • 支持子图像的点击事件
  • ......
基本用法:
Step 1. 添加JitPack仓库
在项目根目录下的 build.gradle 中添加仓库:
allprojects {repositories {...maven { url "https://jitpack.io" }}
}

Step 2. 添加项目依赖

dependencies {implementation 'com.github.Othershe:CombineBitmap:1.0.5'
}

Step 3. 配置

CombineBitmap.init(context).setLayoutManager() // 必选, 设置图片的组合形式,支持WechatLayoutManager、DingLayoutManager.setSize() // 必选,组合后Bitmap的尺寸,单位dp.setGap() // 单个图片之间的距离,单位dp,默认0dp.setGapColor() // 单个图片间距的颜色,默认白色.setPlaceholder() // 单个图片加载失败的默认显示图片.setUrls() // 要加载的图片url数组.setBitmaps() // 要加载的图片bitmap数组.setResourceIds() // 要加载的图片资源id数组.setImageView() // 直接设置要显示图片的ImageView// 设置“子图片”的点击事件,需使用setImageView(),index和图片资源数组的索引对应.setOnSubItemClickListener(new OnSubItemClickListener() {@Overridepublic void onSubItemClick(int index) {}})// 加载进度的回调函数,如果不使用setImageView()方法,可在onComplete()完成最终图片的显示.setProgressListener(new ProgressListener() {@Overridepublic void onStart() {}@Overridepublic void onComplete(Bitmap bitmap) {}}).build();

由于生成的组合Bitmap是矩形的,要实现钉钉的圆形显示效果,这里用到了一个可圆形显示的ImageView控件:NiceImageView

Android 仿钉钉、微信 群聊组合头像 CombineBitmap相关推荐

  1. Android 仿钉钉、微信 群聊组合头像

    CombineBitmap 项目地址:SheHuan/CombineBitmap 简介: Android 仿钉钉.微信 群聊组合头像 更多:作者   提 Bug 标签: 效果预览   功能 生成类似钉 ...

  2. Android 仿钉钉、微信 群聊组合头像,Android插件化入门指南

    简介: Android 仿钉钉.微信 群聊组合头像 更多:作者   提 Bug 标签: 效果预览 | | | |   | | - | - | - | - | | | | | | | | | | | 功 ...

  3. Android 仿钉钉、微信 群聊组合头像,大厂面试题汇总

    效果预览 | | | |   | | - | - | - | - | | | | | | | | | | | 功能 生成类似钉钉.微信 群聊组合头像 Bitmap 可使用图片资源 id.bitmap ...

  4. Android仿微信视频群聊,Android 仿钉钉、微信 群聊组合头像

    功能生成类似钉钉.微信 群聊组合头像Bitmap 可使用图片资源id.bitmap或者使用url从网络加载,传入对应数组即可 网络加载时支持线程池 支持磁盘缓存.内存缓存.(记得申请磁盘缓存需要的文件 ...

  5. Android 仿微信群聊组合头像

    转载:http://blog.csdn.net/tiantianshangcha/article/details/9836809 大概原理是先设想一个要合成的图片的大小,然后根据要合成的图片的个数以及 ...

  6. android 仿QQ,微信群组里的@功能,支持@多人,并能一键删除,能获取上传对应的id(修改版)

    首先注明该文章是借签别人的博客,原文博文地址点击打开链接 android 仿QQ,微信群组里的@功能,支持@多人,并能一键删除,能获取上传对应的id 这个需求来源:本人做集成环信聊天时,项目需要@功能 ...

  7. 类似微信群聊九宫格头像的算法实现

    在工作中遇到了一个开发的需求是将多选的图片聚合起来,类似于微信群聊那种九宫格的头像的那种.当然遇到这个需求首先肯定会从网上查找一些资料,发现大部分的实现类似于通过定义九宫格的ImageView控件来实 ...

  8. 使用伪类来实现类似微信群聊的头像样式

    最近看了一篇张鑫旭的博客,觉得人家的想法特别奇特,很值得学习.遂借鉴学习并记录一下,以备不时之需. 原文地址:伪类匹配列表数目实现微信群头像CSS布局的技巧 简介 我们在使用微信群聊的时候,群聊的头像 ...

  9. Android自定义控件---仿微信群聊(九宫格)头像

    这几天找九宫格头像的源码,发现网上很少有人写(不知道是不是我的搜索关键词不准确).终于在github发现有一哥们写了一份源码,download了下来研究了一段时间,不太符合公司的产品需求 ,无奈只能放 ...

最新文章

  1. 比ajax更好技术,ajax 技术
  2. python代码案例详解-Python之入门基础字典案例详解,新手必学
  3. Java数据结构与算法:红黑树
  4. [学习笔记] Cordova+AmazeUI+React 做个通讯录 - 单页应用 (With Router)
  5. grep的java源程序_Java实现Grep
  6. TCP/IP 2.5浮动静态路由
  7. 11月22日北京.net俱乐部活动ppt下载以及11月19日微软西格玛IE8开发讲座ppt下载
  8. Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考) - 推荐
  9. 八皇后问题和八数码问题的最陡上升爬山法、首选爬山法、随机重启爬山法、模拟退火算法的分析和实现
  10. 基于共享内存、信号、命名管道和Select模型实现聊天窗口
  11. 现学活用的XPath爬取豆瓣音乐
  12. 谷歌浏览器安装postman插件
  13. 计算机无法投影,电脑无法识别投影仪-电脑为什么检测不到投影仪,应该怎么安装...
  14. html前端页面的字体大小,JQuery 改变页面字体大小的实现代码(实时改变网页字体大小)...
  15. matlab如何整理表格数据,数据整理的程序与步骤:包括数据预处理、分类或分组、图表显示...
  16. windows WTS 服务与桌面交互
  17. Blast中文手册(5)
  18. 共享充电宝之争:胜于专利,败于骂街 | 一点财经
  19. HAproxy增加日志记录功能和自定义日志输出内容、格式
  20. 三维扫描、三维建模在数字展厅中的应用

热门文章

  1. 开关电源芯片TOP264vg
  2. 文件夹加密精灵 v3.3 官方
  3. UEFI win7 U盘制作安装激活
  4. AJP:精神分裂症患者大脑加速老化的纵向识别研究
  5. 仿360桌面弹拉换壁纸接环动画效果
  6. Source Insight给Linux内核创建工程
  7. TronLink钱包连接后如何获取钱包地址
  8. android基础--屏幕锁
  9. oracle DG模式搭建详解
  10. 仿iphone输入法_如何在iPhone上的法氏温度和摄氏温度之间切换