尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

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

CombineBitmap:3 步搞定 Android 群聊组合头像(微信 / 钉钉双风格) CombineBitmap3 步搞定 Android 群聊组合头像微信 / 钉钉双风格【免费下载链接】CombineBitmapAndroid 仿钉钉、微信 群聊组合头像项目地址: https://gitcode.com/gh_mirrors/co/CombineBitmapCombineBitmap 是一个 Android 群聊组合头像库把 2~9 个成员头像拼成一张 Bitmap内置微信式网格与钉钉式两种排版。集成后几行代码即可让群聊列表拥有规整的组合头像。 先看效果微信式网格成员多时自动排成 3×39 人也塞得进小头像位适合聊天列表这种高密度场景。钉钉式排布层级感强、焦点集中在前排适合团队主页等突出核心成员的业务场景。最常见的是 4 人情况两行两列简洁整齐两种风格都能覆盖。为什么值得用群聊列表页只传 URL 数组就得到整张组合 Bitmap拼版、对齐这些脏活不用自己算。视觉风格要切换WechatLayoutManager与DingLayoutManager一行代码互换不必维护两套绘制逻辑。网络加载怕卡线程池、磁盘/内存双缓存、采样率压缩都内置好了一次拉 9 张头像也不容易撑爆内存。交互可以继续做深支持点击其中某一张小头像并回传索引能顺势跳转到成员资料页。上手三步第 1 步准备。在清单里加网络权限若需要磁盘缓存再补文件存储权限。第 2 步引入依赖。根目录build.gradle的repositories中加入 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();其余能力一句话带过图片来源不限于 URLsetResourceIds()传本地资源、setBitmaps()传现成 Bitmap。间距颜色、加载失败占位图可分别用setGapColor()、setPlaceholder()定制。配合setImageView()可挂setOnSubItemClickListener拿到被点中小图的索引。拼版尺寸计算与点击热区划分见 Builder.java两种排版算法放在 layout 目录。常见坑位没申请存储权限磁盘缓存失效网络加载正常只是没有二次缓存。钉钉式头像为什么不是圆角生成的是矩形 Bitmap圆形展示要配圆形遮罩 ImageView。一次加载 9 张会卡吗库内已有线程池 采样压缩 双缓存无需额外处理。结语CombineBitmap 把群聊组合头像从自己算坐标简化成传 URL 等回调两种主流风格开箱即用。现在去仓库把示例跑起来换上你自己的头像数组效果立现。【免费下载链接】CombineBitmapAndroid 仿钉钉、微信 群聊组合头像项目地址: https://gitcode.com/gh_mirrors/co/CombineBitmap创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表