其实用自定义View也可以实现,我比较懒,就用LayerDrawable来创建一个新的Drawable资源实现。

举例4宫格,9宫格原理类似,每个图标的位置需要用边距慢慢调成预期的效果

效果如下:

双人头像:

三人头像:

四人头像:

实现:

/*** 使用LayerDrawable生成四宫格头像(包含双人、三人头像)** @param drawables 头像数组* @return 四宫格头像*/
private Drawable createHeaderForSms(Drawable[] drawables) {int size = drawables.length;if (size == 1) {return drawables[0];}int dp34 = (int) context.getResources().getDimension(R.dimen.dp_34);int dp24 = (int) context.getResources().getDimension(R.dimen.dp_24);int dp6 = (int) context.getResources().getDimension(R.dimen.dp_6);int dp48 = (int) context.getResources().getDimension(R.dimen.dp_48);LayerDrawable la = new LayerDrawable(drawables);// 其中第一个参数为层的索引号,后面的四个参数分别为left、top、right和bottomswitch (drawables.length) {case 2:la.setLayerInset(0, 0, 0, dp34, dp34);la.setLayerInset(1, dp34, dp34, 0, 0);break;case 3:la.setLayerInset(0, dp24, dp6, dp24, dp48);la.setLayerInset(1, 0, dp48, dp48, dp6);la.setLayerInset(2, dp48, dp48, 0, dp6);break;case 4:la.setLayerInset(0, 0, 0, dp48, dp48);la.setLayerInset(1, dp48, 0, 0, dp48);la.setLayerInset(2, 0, dp48, dp48, 0);la.setLayerInset(3, dp48, dp48, 0, 0);break;}return la;
}

Android:使用LayerDrawable动态生成四宫格头像(包含双人、三人头像)相关推荐

  1. html编写四宫格展示图片,七彩色图片排版工具一键制作四宫格图片教程

    七彩色图片排版工具是一款好用的图片排版工具.我们可以使用七彩色图片排版工具将电脑中的图片进行一键一键排版: 进入下载七彩色图片排版工具 2.1 官方版 大小:3.36 MB 日期:2019/2/25 ...

  2. html实现图片四宫格,CSS-实现全等四宫格的方案【Collection】

    全等四宫格.png 如上图,需求如下: 一个未知宽高的容器,要被均分为四个相同大小格子(即四个容器),且格子间有10px间距(即十字型空隙),有哪些方法可以解决呢? 分析问题 一般实现布局,用的多的是 ...

  3. 四宫格效果 css_【深度教研】智力游戏“九宫格” 集体教研活动纪实

    [关键词]教研要建立过程模式,规范管理,分层推进,各负其责,及时反馈,展示总结.让教研的过程成为全体教师共同成长的过程.       游戏和材料不是一次性的制作和一次性的使用,其价值在于反复玩,玩中学 ...

  4. 我的计算机桌面被分成三格,用四宫格管理你的电脑桌面,工作效率蹭蹭蹭的提高...

    电脑桌面为什么要用四宫格? 电脑桌面上的文件很多,杂乱无章? 每天上班明明有很多事情要干,打开电脑却不知道从何着手了? 你需要管理自己的电脑桌面了. 这里给你推荐一个四宫格法,也是我自己一直在用的. ...

  5. Android 渠道包 动态生成 apk 名称

    Android 渠道包 动态生成 apk 名称 低版本打包配置 buildTypes {release {minifyEnabled trueshrinkResources truezipAlignE ...

  6. 使用自动化处理某手游四宫格拼图问题

    今天玩游戏的时候碰到个四宫格的小游戏,想试试能不能通过自动化的方式自动完成. 游戏本身逻辑很简单,就是四个小块拼成一个完整图案,但让它自动点击完成的话,这个思考的过程比较有意思. 游戏图: 初始四个无 ...

  7. Shader之旅2:四宫格画面实现

    书写本文的初衷是为了自我反省记录.如有表达不当,请批评指正 首先贴出shader代码.这段代码是实现相机拍摄画面四宫格的实现.分别传入不同的channel 0 1 2 3.然后将UV进行切割分为四块填 ...

  8. css布局方式,实现四宫格,九宫格,16宫格等切换

    1.借助absolute方位值,实现自适应的网格布局,用伪元素间隔 absolute+四个方位值撑开局面.float+宽度百分比实现横向排列.高度百分比实现自适应. 最外层的父元素使用absolute ...

  9. 你想用计算机做什么工作,用四宫格管理你的电脑桌面,工作效率蹭蹭蹭的提高...

    电脑桌面为什么要用四宫格? 电脑桌面上的文件很多,杂乱无章? 每天上班明明有很多事情要干,打开电脑却不知道从何着手了? 你需要管理自己的电脑桌面了. 这里给你推荐一个四宫格法,也是我自己一直在用的. ...

最新文章

  1. Matlab编程与数据类型 -- M文件的编辑和存储
  2. oracle各种字符集修改
  3. 有备无患的Linux操作系统备份方法
  4. Celery介绍和使用
  5. 网购到火车票 浅析淘宝和12306网站架构
  6. ant 彻底了解(转)
  7. (45)FPGA面试题格雷码特点及其应用
  8. 中国女排代言作业帮直播课,作业帮累计用户已超8亿
  9. 身处外包中!有过低谷 5年时间让我年薪近100W...我的不放弃,让我看见了最美的明天...
  10. 【项目管理】项目管理发展的新阶段——PRINCE2项目管理方法
  11. Linux中查看进程命令ps aux,ps -ef,ps -A,ps -a
  12. 友华PT925E,电信天翼网关3.0,光猫超级密码获取最简便方式
  13. v5服务器装系统,小白必学:宏基V5-591G内存、固态、装系统教程!
  14. 紫鸟超级浏览器-SeleniumAPI通信
  15. jdk chm右边文档打不开的问题
  16. conda使用清华镜像安装pytorch
  17. linux srr 乱码,批量下载SRR数据
  18. Jmeter基础系列4-创建一个HTTP请求实例
  19. 积性函数性质-POJ2480
  20. Python识别璇玑图中诗的数量

热门文章

  1. 基于FPGA的DDS在安路TD和EG4A20BG256上遇到的问题及解决方法(四)
  2. Oracle插入数据的foreach问题
  3. 读书笔记2.1—《易中天中华史:祖先》1
  4. Linux -- 利用IPS(入侵防御系统) 构建企业Web安全防护网
  5. UE4 获取系统时间方法
  6. vue.js2.0完整视频教程12套
  7. vmware esxi安装centos7系统操作步骤
  8. python中字符串函数的用法_python中字符串内置函数的用法总结
  9. 让seaborn和matplotlib中所有的字都是粗体
  10. JavaScript学习笔记——DOM