融云即时通讯 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);
}
});