⼀⾏代码实现聊头像(⽤环信仿聊头像)
做这个环信聊头像的时候,我在考虑怎么⾃定义,怎么去拼接这个聊头像,怎么获取成员的头像,怎么在成员退出聊的时候更新头像,,,
聊的东西真的很多,最近刚刚弄完聊头像,并没有考虑到退出的时候怎么更新,这个问题应该很简单,所以,就放在哪⾥去⼲别的事了(帮助别⼈解决头像昵称去了)
好了,不多说,⾸先我们到聊列表,也就是GroupActivity;然后我们就会看到GroupAdapter,然后进⼊Adapter,到Item的布局
图1
这就是这个布局,很纳闷,为什么不把那个头像的id初始化出来呢?或许是因为这个头像为了⽤户的⾃
定义,不写出来吧,有的⼈可能会⾃定义⼀个ImageView,也有⼈会那这个控件继承ViewGroup,⽽我,就是集成ViewGroup
然后,问题就来了,怎么获取到成员的头像呢,⾸先⼀开始我们后台并没有给出接⼝,我⾃⼰请求了查看个⼈信息的接⼝,然后,For循环进⼀个ImageList,但是,这样太⿇烦了;然后,我就指使我们后台写了个接⼝,利⽤id查询所有成员的id和头像,这样,简单多了。
好,那就开始写。。
图2
在这⾥,我们只要⼀个NineGridImageView就可以了,因为这位⼤神是写了九个这个控件,分别是显⽰从⼀张到九张
图2
关键代码在这⾥,这⾥就是Adapter,以前没接触过Adapter⾥⾯嵌套Adapter,然⽽,也是听说,就试了试这个,这⾥,这位⼤神⽤的是Picasso,在这⾥,我的上⼀篇⽂章已经简单讲了,Picasso和Gilde的区别,SO,我这⾥并没有⽤Picasso,Picasso和Gilde的加载代码也⾮常相似
图3
这⾥同样,我们同样只需要设置⼀个GroudIcon;
然后就是下⾯的设置,这个setImagesData⾥⾯的东西⼤家可以去看看NineGridImageView这个类,很神奇。。
然后运⾏结果就是
图4
你显⽰的头像就是红⾊框框⾥⾯的9张图⽚。(盗了个图,⼤家不要介意)
看到这⾥,⼤家是不是以为完了?,并没有,当你弄好了这个头像的时候,你就会看到,每次进⼊聊界⾯就会刷新数据,头像就会重新加载⼀次,也就是会闪⼀次
然后我就到了个终极解决办法,那就是万能的后台。。。。
我们后台帮我们拼接图⽚,然后请求接⼝直接返回⼀张图⽚,这⾥就⽤到了get请求⽅式,⽤请求地址作为图⽚地址,然后仅仅只需要⼀⾏代码直接解决头像的问题!!
图5
看到没有,就是⼀⾏代码,但是这个也是有缺陷的,因为,我没有写成员退出聊之后刷新,所以,⼤家⾃⼰加上吧
这⾥的头像解决了,但是会话列表那⾥呢?于是,我就查到EaseUI⾥⾯去了,就是会话列表EaseConversationAdapater
这⾥同样,也是⼀⾏代码
图6
好了,⼤功告成,现在可以看到成员的头像了
代码转换图7
如果有疑问,请加⼊我⼤表哥粉丝环信IM互帮互助 340452063,我,杭州-android-中草;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论