仿钉钉群聊头像的实现

今天是七月份的上海在周末难得的无雨天气,小编原本计划继续去周边游的。怎奈何,上海地表体感温度直接飙到37度左右,太热了。与其去被烤,还不如宅在家,看看直播看看博客来的直接来的凉爽。说起博客我早就想写篇处女作呢,可惜计划的永远赶不上变化。每每都被推迟了,所幸今天不出门干脆写篇博客得了。是的,就这样我开始了我们本篇博客的主题。钉钉群聊头像的实现~~~~


虽然可以实现的方法有多种,在这里小博只简单介绍下我的实现思路和方法:

0

首先根据钉钉群聊头像的功能我们不难发现,当我们拉多好友进行聊天时,群聊的头像会从原来默认的一张圆形图片会变成跟随聊天人数变化的而改变图片的个数和状态,1.当群聊有两人时,每人的图片都会在原来图片的半圆里;2.当群聊变成三人时,此时的图片就分成半圆和两个四分之一圆组合起来的圆形图片效果;3.当群聊人数大于等于四时,默认取前四人的头像分配在圆的四分之一的位置;这些首先是我们直观上的感受,现在我们来看看我实现的效果吧。

1.就一人:


1

2.两个人时:


2

3.三个人时:


3

4.多于或等于四个人的时候:


4

以上是我实现后的效果,前几天因为朋友着急下班回家帮朋友作了个,虽然还有很多的地方需要完善,但是也是可以分享下。接受指导,共同学习,共同进步~~

好了,撸代码吧~

1.首先自定义ViewGroup,主要便是重写onLayout方法;再根据子View的个数更新布局状态同时改变子View的高度和宽度,具体代码如下:


5

2.自定义ImagView实现圆形,半圆形和四分之一圆形各种形态的变化

具体代码于下:

对以上的两个自定义应该是挺原始的,理解起来应该挺简单的。

着重关注一个Android图像辅助功能类-Xfermode,这家伙我第一次接触时着实被他坑了一把。主要是功能确实强大,使用起来还是挺模糊,具体查看博客:http://407827531.iteye.com/blog/1470519,该博客具体介绍了他的几种运行的机制和几种Mode的类型;具体的使用方法等等~

总结:小编第一次写博客,带着忐忑心情写了这篇博客。原本想把它写的更好些,写的更具体些,但是联想到自己看博客的习惯,一般都是先看效果再看代码,几乎不看博主说了什么,所以小编废话不多说直接上效果图和主类代码,不知不觉写了三小时了;好了是时候带着遗憾淡淡的收尾本篇博客的撰写,只希望下次的文章能给兄弟们带来更清晰的思路和更简洁的代码,感谢大家的支持 ~ 如果说的不对的地方还请大牛们指出,接受改善~ 如果有更好的方法和实现思路的欢迎大家一起交流~~~非常感谢大家! 稍后贴上demo分享地址~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,852评论 25 709
  • 效果图 一个仿钉钉群组头像显示效果,支持图片和文字,可以任意组合,非常方便,代码量也非常少,非常适合拿来学习。 绘...
    雷l阵l雨阅读 3,917评论 1 10
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,651评论 4 61
  • 不知道从什么时候,自己身上开始被附加上一些莫名的词语,生活被定义,性格被标签。因为一次长距离骑行,被挂以“骑友”的...
    586c75b10b74阅读 1,038评论 0 2
  • 第三章 文|暮帆江桥 班主任站在讲台上宣布,这节班会要选班委。 选班委?同学们立刻炸开了锅。“选谁好啊!”同学们叽...
    暮帆江桥阅读 1,244评论 6 3

友情链接更多精彩内容