news 2026/8/27 16:20:21

CombineBitmap:3 步搞定 Android 群聊组合头像(微信 / 钉钉双风格)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CombineBitmap:3 步搞定 Android 群聊组合头像(微信 / 钉钉双风格)

CombineBitmap:3 步搞定 Android 群聊组合头像(微信 / 钉钉双风格)

【免费下载链接】CombineBitmapAndroid 仿钉钉、微信 群聊组合头像项目地址: https://gitcode.com/gh_mirrors/co/CombineBitmap

CombineBitmap 是一个 Android 群聊组合头像库,把 2~9 个成员头像拼成一张 Bitmap,内置微信式网格与钉钉式两种排版。集成后几行代码即可让群聊列表拥有规整的组合头像。

👀 先看效果

  • 微信式网格:成员多时自动排成 3×3,9 人也塞得进小头像位,适合聊天列表这种高密度场景。

  • 钉钉式排布:层级感强、焦点集中在前排,适合团队主页等突出核心成员的业务场景。

  • 最常见的是 4 人情况:两行两列,简洁整齐,两种风格都能覆盖。

为什么值得用

  • 群聊列表页:只传 URL 数组就得到整张组合 Bitmap,拼版、对齐这些脏活不用自己算。
  • 视觉风格要切换:WechatLayoutManagerDingLayoutManager一行代码互换,不必维护两套绘制逻辑。
  • 网络加载怕卡:线程池、磁盘/内存双缓存、采样率压缩都内置好了,一次拉 9 张头像也不容易撑爆内存。
  • 交互可以继续做深:支持点击其中某一张小头像并回传索引,能顺势跳转到成员资料页。

上手三步

第 1 步,准备。在清单里加网络权限;若需要磁盘缓存,再补文件存储权限。

第 2 步,引入依赖。根目录build.gradlerepositories中加入 JitPack 仓库,然后在 app 模块声明依赖com.github.Othershe:CombineBitmap:1.0.5。想跑示例的话,clone 仓库本地运行即可:

git clone https://gitcode.com/gh_mirrors/co/CombineBitmap

第 3 步,最小可运行示例。选布局、给尺寸、传 URL、绑定 ImageView,四件事做完就出图:

CombineBitmap.init(context) .setLayoutManager(new WechatLayoutManager()) // 微信式网格 .setSize(120) // 组合头像尺寸(dp) .setGap(2) // 头像间距(dp) .setUrls(urls) // 头像 URL 数组 .setImageView(avatarView) .build();

进阶:换钉钉风格,拿回调自己显示

setImageView()只是快捷方式;想让钉钉风格以圆形呈现,可以在回调里把 Bitmap 交给圆形 ImageView 自己控制显示:

CombineBitmap.init(context) .setLayoutManager(new DingLayoutManager()) .setSize(120) .setUrls(urls) .setOnProgressListener(new OnProgressListener() { @Override public void onComplete(Bitmap bitmap) { niceImageView.setImageBitmap(bitmap); } }) .build();

其余能力一句话带过:

  • 图片来源不限于 URL,setResourceIds()传本地资源、setBitmaps()传现成 Bitmap。
  • 间距颜色、加载失败占位图可分别用setGapColor()setPlaceholder()定制。
  • 配合setImageView()可挂setOnSubItemClickListener,拿到被点中小图的索引。
  • 拼版尺寸计算与点击热区划分见 Builder.java,两种排版算法放在 layout 目录。

常见坑位

  • 没申请存储权限?磁盘缓存失效,网络加载正常,只是没有二次缓存。
  • 钉钉式头像为什么不是圆角?生成的是矩形 Bitmap,圆形展示要配圆形遮罩 ImageView。
  • 一次加载 9 张会卡吗?库内已有线程池 + 采样压缩 + 双缓存,无需额外处理。

结语

CombineBitmap 把群聊组合头像从"自己算坐标"简化成"传 URL 等回调",两种主流风格开箱即用。现在去仓库把示例跑起来,换上你自己的头像数组,效果立现。

【免费下载链接】CombineBitmapAndroid 仿钉钉、微信 群聊组合头像项目地址: https://gitcode.com/gh_mirrors/co/CombineBitmap

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!