利用环信扩展消息实现话题卡功能,包括发送话题卡 接受话题卡

首先,先上效果图

话题卡功能实现原理:

话题卡功能主要是使用扩展消息和透传消息来实现的,主要包含一些自定义消息类型和自定义布局显示等。环信定义好的消息类型包括文本图片 视频 位置 音频 文件 透传这几种类型,话题卡功能主要使用文本类消息类型进行扩展,再利用透传消息来通知对方更新状态。

实现步骤:

1.首先找到EaseChatFragment,里面有一个发送大图片的消息,话题卡就是模仿这种来实现的。

直接参照上面的创建方法

在EaseCommonUtils加一个方法createCardMessage,这里要给文本消息进行扩展,我给他一个类型(用来在Adapter中判断显示什么样的布局)和一个状态(包含0等待 1拒绝 2接受三种状态)


2.在EaseChatFragment里面添加一个方法SendCardMessage

3.点击话题卡的时候调用上面的方法

4.在EaseMessageAdapter里面修改发送接收消息ui,先在getItemViewType里面修改type,14发送话题卡 15接收话题卡 16同意话题卡

根据是发送还是接收的来给item加上不同的type(好像后面没使用,下面是根据之前扩展消息的值来判断的)

然后新建EaseChatCardPresenter和EaseChatRowCard类(这两个类是控制显示的ui的),然后在createChatRowPresenter里使用,这里是主要控制布局显示的地方

这个是EaseChatCardPresenter的代码

这个是EaseChatRowCard中主要的逻辑代码

在发送话题卡图片的时候要在EaseMessageAdapter添加一些判断显示ui,这部分就像上面做话题卡的时候一样,下面是代码

然后在DemoHelper和ChatFragment中接收并处理透传消息在OnCmdMessageReceived方法中处理透传消息

DemoHelper中的处理代码

ChatFragment中的代码



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值