QuoteCardView

public class QuoteCardView

V2 引用消息卡片 View(对标 iOS RCReferencedContentView)。

四种互斥布局模式:

  • INLINE:左侧 compact 竖线 + 单 TextView 显示 "昵称: 内容",最多两行。 适用于文本/语音/位置/小视频/未知/已编辑的引用。
  • IMAGE_PREVIEW:顶部 sender 行 + 缩略图。适用于图片且非删除/撤回。
  • FILE_CARD:顶部 sender 行 + 白底带边框文件卡片(icon + name + size)。
  • STATUS:与 INLINE 相同,但内容固定为"已撤回/已删除",颜色用次级色。

Since

5.36.0

Constructors

Link copied to clipboard
public void QuoteCardView(Context context)
public void QuoteCardView(Context context, AttributeSet attrs)
public void QuoteCardView(Context context, AttributeSet attrs, int defStyleAttr)

Functions

Link copied to clipboard
public Message getQuotedMessage()
获取已查到的被引用消息,可能为 null(加载中/不可用)。
Link copied to clipboard
public void reset()
重置为空白状态(RecyclerView 复用时调用)。
Link copied to clipboard
public void setFileCardMinWidthOverride(int widthPx)
文件消息本体带引用时,引用文件卡需要与下方文件卡保持同宽。
Link copied to clipboard
public void setMessage(Message message)
绑定消息数据并触发被引用消息查询。 需在 RecyclerView.
public void setMessage(Message message, boolean forceReload)
绑定消息数据并触发被引用消息查询。
Link copied to clipboard
public void setReferenceMessage(Message wrappingMessage)
V1 路径:直接根据 ReferenceMessage 自带的本地引用内容渲染卡片,不查询 DB。 这样 V1 引用消息 cell 与 V2 引用卡片视觉一致,对齐 iOS 的"两端共用 RCReferencedContentView"。
Link copied to clipboard
public static boolean shouldShowQuoteCard(Message message)
判断消息是否应该显示 V2 引用卡片。 条件:quoteInfo.messageUId 非空 &&消息内容不是 V1 ReferenceMessage。 不再依赖 RongConfigCenter.featureConfig().isQuoteV2Enable():该开关仅控制发送侧是否走 V2 协议, 收到的消息只要带 quoteInfo 就需要渲染卡片。