IM

融云即时通讯sdk, 把头像设置为圆角图片在4.x和5.x的区别 -- 融云即时聊天sdk使用小技巧

/uploads/files_user25/article/6033829f109d3699208.png

背景:

最近公司新上的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);
            }
        });


0 个评论

要回复文章请先登录注册