产品动态
公告
聊天消息列表 | 消息长按菜单 |
![]() | ![]() |
方法名 | 参数 | 描述 |
MessageList | conversationID: String | 初始化组件,设置会话 ID。如果是单聊,组成方式为 c2c_userID。如果是群聊,组成方式为 group_groupID。 |
| config: MessageListConfigProtocol | 初始化组件,设置消息列表样式。 |
| customActions: List<MessageCustomAction> | 初始化组件,设置自定义消息菜单选项。 |
| locateMessage: MessageInfo? | 初始化组件,设置定位消息。通常用于从消息搜索结果页跳转到消息页同时定位到目标消息。 |
| onUserClick: (String userID) {} | 初始化组件,设置点击用户头像跳转响应事件。 |
MessageList(conversationID: 'conversation_123',onUserClick: (String userID) {// 点击用户头像响应事件},),
MessageListConfigProtocol 来创建完全自定义的样式:class MyCustomConfig extends MessageListConfigProtocol {@overrideString get alignment => AppBuilder.MESSAGE_ALIGNMENT_TWO_SIDED;@overridebool get isShowTimeMessage => true;@overridebool get isShowLeftAvatar => true;@overridebool get isShowLeftNickname => true;@overridebool get isShowRightAvatar => true;@overridebool get isShowRightNickname => true;// ... 其他必须属性}// 使用自定义样式MessageList(conversationID: 'conversation_123',config: MyCustomConfig(),);
MessageListConfigProtocol 属性说明:属性名 | 类型 | 描述 | 备注 |
alignment | String | 消息对齐方式 | MessageAlignment.LEFT:左对齐。MessageAlignment.RIGHT:右对齐。MessageAlignment.TWO_SIDED:左右对齐。 |
isShowTimeMessage | bool | 是否显示时间消息 | 控制是否显示消息时间戳 |
isShowLeftAvatar | bool | 是否显示左侧头像 | 控制接收消息时是否显示发送者头像 |
isShowLeftNickname | bool | 是否显示左侧昵称 | 控制接收消息时是否显示发送者昵称 |
isShowRightAvatar | bool | 是否显示右侧头像 | 控制发送消息时是否显示自己头像 |
isShowRightNickname | bool | 是否显示右侧昵称 | 控制发送消息时是否显示自己昵称 |
isShowTimeInBubble | bool | 是否在气泡内显示时间 | 控制时间戳是否显示在消息气泡内部 |
cellSpacing | double | 消息间距 | 控制相邻消息之间的间距 |
isShowSystemMessage | bool | 是否显示系统消息 | 控制是否显示系统通知类消息 |
isShowUnsupportMessage | bool | 是否显示不支持的消息 | 控制是否显示不支持类型的消息 |
horizontalPadding | double | 水平内边距 | 控制消息列表的左右内边距 |
avatarSpacing | double | 头像间距 | 控制头像与消息内容之间的间距 |
isSupportCopy | bool | 消息操作菜单是否支持复制 | - |
isSupportDelete | bool | 消息操作菜单是否支持删除 | - |
isSupportRecall | bool | 消息操作菜单是否支持撤回 | - |
isSupportCopy、isSupportDelete、isSupportRecall 来显示操作项:MessageList(conversationID: 'conversation_123',config: ChatMessageListConfig(isSupportCopy: false),);
customActions,MessageList 内部会在默认的 action 底部添加您增加的自定义选项:MessageList(conversationID: 'conversation_123',customActions: [MessageCustomAction(title: 'Share',systemIconFallback: Icons.share,action: (MessageInfo messageInfo) {print('share message');},)],);
AppBuilderConfig 进行全局配置:// 在应用启动时配置await AppBuilder.init();AppBuilder.getInstance().messageListConfig = MessageListConfig(messageActionList: [AppBuilder.MESSAGE_ACTION_COPY,AppBuilder.MESSAGE_ACTION_DELETE,AppBuilder.MESSAGE_ACTION_RECALL,],// 其他配置);// 接下来再初始化 MessageList,所有的 MessageList 都会遵守上面的配置MessageList(conversationID: 'conversation_123',);
消息列表操作(默认选项) | 消息列表操作(隐藏【复制】选项) | 消息列表操作(新增【分享】选项) |
![]() | ![]() | ![]() |
文档反馈