消息气泡(Config 部分自定义 UI)
消息气泡通过 RCKBubbleConfig 进行部分自定义 UI,包括形状、颜色、边框、内边距,以及文本/链接/图片/语音/视频/文件/引用与“追加气泡(附加面板)”的子样式。以下完整列出字段与子配置,并给出使用示例。
入口
- 配置:
RCKBubbleConfig - 使用位置:
RCKChatPage.config.bubbleConfig→ 传入RCKMessageList
主配置:RCKBubbleConfig
shape(BubbleShape):形状,可选roundedRectangle、oval、rectangleborderRadius(double):圆角大小(用于圆角矩形)senderColor、receiverColor(Color):发送/接收方气泡背景色systemColor(Color):系统消息背景色messageTypeColors(Map<RCIMIWMessageType, Color>?):按消息类型指定颜色borderColor、borderWidth(Color?/double?):边框颜色与宽度padding(EdgeInsetsGeometry):气泡内边距- 文本/链接/图片/语音/视频/文件/引用/追加气泡的子样式配置:
textStyleConfig(RCKTextStyleConfig)linkStyleConfig(RCKLinkStyleConfig)imageStyleConfig(RCKImageStyleConfig)voiceStyleConfig(RCKVoiceStyleConfig)sightStyleConfig(RCKSightStyleConfig)fileStyleConfig(RCKFileStyleConfig)referenceStyleConfig(RCKReferenceStyleConfig)appendBubbleConfig(RCKAppendBubbleConfig)
颜色的最终选择由
getBubbleColor结合消息类型与方向计算:若为文件或系统类消息,会有特定覆盖逻辑。
文本样式(RCKTextStyleConfig)
senderTextStyle、receiverTextStyle(TextStyle?):发送/接收方文本样式lineSpacing(double?):行间距
示例:
Dart
textStyleConfig: RCKTextStyleConfig(
senderTextStyle: const TextStyle(fontSize: 16),
)
链接样式(RCKLinkStyleConfig)
senderTextStyle、receiverTextStyle(TextStyle?):发送/接收方链接文本样式showUnderline(bool):是否显示下划线
示例:
Dart
linkStyleConfig: const RCKLinkStyleConfig(showUnderline: false)