引用回复
IMKit 支持引用回复功能,允许用户在聊天页面中回复彼此的消息。消息将出现在会话页面的消息列表组件中。引用回复功能默认发送的消息包含引用消息内容对象 ReferenceMessage(类型标识:RC:ReferenceMsg
)。
局限
引用回复功能目前有以下限制:
- 仅支持文本消息、文件消息、图文消息、图片消息、引用消息的引用。
- 引用深度仅支持一度,即只能引用回复原始消息。如果多重引用,只展示上一层被引消息内容。
用法
IMKit 会话页面默认已启用引用回复功能。用户在会话页面长按消息,在弹框里选择引用消息,即可引用该消息。在输入区添加消息内容后,SDK 默认会将输入内容与被引消息组合为 ReferenceMessage,并发送到会话中。
关闭引用回复功能
IMKit 5.X 版本不支持通过修改 XML 资源文件控制此功能。如需关闭引用回复功能,可以修改 IMKit 全局配置:
在 init 之后调用。
RongConfigCenter.featureConfig().enableReference(false);
自定义引用消息的 UI
引用回复功能默认发送的消息包含引用消息内容(RC:ReferenceMsg
),使用 ReferenceMessageItemProvider
模板展示在消息列表中。
所有消息展示模板都继承自 BaseMessageItemProvider<CustomMessage>
,您可以继承 BaseMessageItemProvider<CustomMessage>
,自行实现一个引用消息展示模板类,并将该自定义模板提供给 SDK。
您也可以直接替换引用消息展示模板中引用的样式资源、字符串资源和图标资源。详见 IMKit 源码 ReferenceMessageItemProvider.java 中引用的资源。
例如:您可以复制 IMKit 源码中的 rc_item_reference_message.xml 的全部内容,您可以在项目下创建 /res/layout/rc_item_reference_message.xml
文件,修改其中定义的样式值。请勿删减 SDK 默认控件,不要随意修改 View 的 ID。