融云即时通讯sdk, 把头像设置为圆角图片在4.x和5.x的区别 -- 融云即时聊天sdk应用小技巧
背景:
最近公司新上的app要加上即时通讯的性能, 本人疾速实现一个当然是不可能的了(我的项目deadline也顶不住哇).就从各家成熟的SDK厂商选来选去的, 各有各的好也各有各的有余.最初点兵点将,选了融云家的SDK(老板说了算hhhh).
他家的官网和文档地址:
官网:https://www.rongcloud.cn/
文档:https://docs.rongcloud.cn/v4
这个工作当然还是落在我的头上. 我是应用的他们家的带UI的sdk,(他们家有带UI和不带UI的两种sdk, 不带UI的sdk就是只有即时通讯能力, 所有的UI都须要开发者自定实现, 带UI的sdk封装了一些根本的界面,例如会话列表, 和他人聊天的会话界面). 最近正好他们家也对IMKit大版本进行了迭代 (4.x --> 5.0). 我这边也就追随他们做了一下迭代, 把我的项目中应用的4.0.1.1版本sdk, 间接降级到了5.0的版本.
知识点:
融云sdk中自带的UI都是矩形的头像, 无论是会话列表还是会话界面里, 都是矩形的. 然而咱们我的项目中需要是圆形头像, 所以须要我再自定义一下.
4.x版本
在4.x版本中, 我是间接改的xml布局文件.
这个是会话界面的头像, 会话列表头像也是同理.
在 rc_item_message.xml 配置文件中 批改 RCCornerRadius="3dp" 配置的值。设置头像圆角大小。
5.0版本
在5.0版本中, 因为融云在这个迭代过程中把图片库从ImageLoader换成了Glide, 所以这块批改就更加不便, 也更便于浏览了
间接在代码中设置即可:
RongConfigCenter.featureConfig().setKitImageEngine(new GlideKitImageEngine() { @Override public void loadConversationListPortrait(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { Glide.with(imageView).load(url) .apply(RequestOptions.bitmapTransform(new CircleCrop())) .into(imageView); } @Override public void loadConversationPortrait(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { Glide.with(imageView).load(url) .apply(RequestOptions.bitmapTransform(new CircleCrop())) .into(imageView); } });