功能生成类似钉钉、微信 群聊组合头像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.0'}

Step 3. 配置CombineBitmap.init(context)

.setLayoutManager() // 必选, 设置图片的组合形式,支持WechatLayoutManager、DingLayoutManager

.setSize() // 必选,组合后Bitmap的尺寸,单位dp

.setGap() // 单个Bitmap之间的距离,单位dp,默认0dp

.setGapColor() // 单个Bitmap间距的颜色,默认白色

.setPlaceholder() // 单个Bitmap加载失败的默认显示图片

.setUrls() // 要加载的图片url数组

.setBitmaps() // 要加载的图片bitmap数组

.setResourceIds() // 要加载的图片资源id数组

.setImageView() // 直接设置要显示图片的ImageView

.setOnProgressListener(new OnProgressListener() { // 加载进度的回调函数,如果不使用setImageView()方法,可在onComplete()完成最终图片的显示

@Override

public void onStart() {

}        @Override

public void onComplete(Bitmap bitmap) {

}

})

.build();

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

作者:Othershe

链接:https://www.jianshu.com/p/34f15afe35e7

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

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

  1. 基于微信视频直播如何做收费直播(微信公众号直播)?

    基于微信视频直播如何做收费直播(微信公众号直播) 现场设备准备 网络环境 平台选择(或自搭直播环境) 微信自定菜单的链接加入 发起直播 测试直播适配性 开始自己的直播 (未完待续) 我的其他原创文章: ...

  2. com.android.coolwind,土豆视频(com.tudou.android) - 9.2.5 - 应用 - 酷安

    权限信息 · android.permission.FOREGROUND_SERVICE · 查看网络连接 · 查看WLAN连接 · 完全的网络访问权限 · 读取手机状态和身份 · 开机启动 · 控制 ...

  3. 乐视电视android,乐视视频(com.letv.android.client) - 9.25.4 - 应用 - 酷安

    权限信息 · com.alipay.mobile.command.trigger.permission · com.letv.music.permission.ACCESS_USER_DATA · c ...

  4. 微信服务器是否记录视频信息,微信视频号有访客记录吗 微信视频号可以查看浏览记录吗...

    视频号是微信的一个全新版块,我们可以在视频号浏览视频号发布的短视频,同时还可以进行点赞.留言.转发等操作,那我们自行发布的视频,微信视频号有访客记录吗?下面就和IT百科一起来看看吧! 微信中的视频号, ...

  5. android camera2 采集,视频采集:Android平台基于Camera 2的实现

    前言 这篇文章简单介绍下移动端Android系统下利用Camera2相关API进行视频采集的方法. Camera2是谷歌在Android 5.0新增的用来替代Camera1操作摄像头的一个全新的API ...

  6. android windows 无线视频传输,基于Android端到端实时无线视频传输系统

    摘要: 自从Android2.3发布以来,摄像头以及底层多媒体系统的完善,为视频流媒体业务的发展奠定了良好的基础.目前开发人员利用Android提供的资源对视频业务的开展主要集中在视频播放器的功能的扩 ...

  7. Android 简单的视频录制,android项目实战手机安全卫士

    */ public static Camera getDefaultCamera(int <Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义> [docs. ...

  8. android无法播放视频文件格式,基于Android引入IjkPlayer无法播放mkv格式视频的解决方法...

    写在前面 项目中直接引用或者直接编译源码得到的ijkplayer在播放mkv文件时出现(-10000)的错误,去项目github查看了才知道,默认是不支持mkv和rmvb格式视频的播放的. 用了一天时 ...

  9. android编程:调节视频画面分辨率,Android编程实现屏幕自适应方向尺寸与分辨率的方法...

    本文实例讲述了Android编程实现屏幕自适应方向尺寸与分辨率的方法.分享给大家供大家参考,具体如下: Android 屏幕自适应方向尺寸与分辨率,包括屏幕界面布局.多分辨率支持.获取屏幕尺寸.屏幕横 ...

  10. android开机渲染视频太久,Android过度渲染优化解决方案

    过度绘制是发生的每一次应用要求系统上别的画的东西."调试GPU透支"工具覆盖上你的屏幕的色彩显示多少次像素被重绘. 通过查看GPU透支来改善应用程序的渲染时间. 方法1: 打开手机 ...

最新文章

  1. 一个考查作用域以及闭包的题目
  2. QGC添加显示多架无人机飞行轨迹
  3. Android 混淆文件project.properties和proguard-project.txt
  4. java propertysource_[spring] @PropertySource
  5. 湖南大学第十五届程序设计竞赛
  6. (转)java并发之Executor
  7. aws集群重启_使用自动伸缩组在AWS中运行安全数据库集群
  8. mysql报错error2002_mysql中异常错误ERROR:2002的解决方法分享
  9. 信息学奥赛一本通(1404:我家的门牌号)
  10. django:访问本地静态文件的配置
  11. python基础知识第一节
  12. deepin桌面为什么那么卡_UOS/Deepin桌面卡死该怎么办
  13. VSCode : vscode-remote下无法写入文件及linux文件读写权限
  14. 数据库语句创建数据库
  15. ERP系统具有哪些功能?
  16. linux系统怎么安装office软件,如何在Linux上安装Microsoft Office | MOS86
  17. OpenGL PowerVR SDK 编译:Could NOT find X11 (missing: X11_X11_INCLUDE_PATH X11_X11_LIB)
  18. 【数理统计】假设检验
  19. 记录 java + selenium脚本实现网页自动化
  20. Keli5 打开Cypress CY7C68013A(51单片机)官方开发包例程

热门文章

  1. Python文件.py||.pyi||.pyc||.pyo||.pyd等各种文件后缀区别(全面汇总)
  2. 九省联考2018D1T1 一双木棋
  3. hdu(4339)树状数组+二分查找
  4. SpringCloud-15-Ribbon实现负载均衡
  5. Python+Tkinter编写WIFI暴力破解客户端
  6. 大学生学习指导课程材料
  7. SQLite 简介 及 使用
  8. js获取对象里数据条数
  9. 新思路: JS获取任意数据中最大的数字
  10. web端高保真高交互原型库