跳到主要内容

自定义长按消息菜单

用户在会话页面长按消息可打开弹窗,根据当前消息类型、会话类型提供不同选项。您可以在自定义菜单选项的显示名称、顺序、以及自行增删菜单选项。

自定义长按消息弹窗的菜单选项

会话页面 MessageListComponent 组件 长按消息将要弹出菜单时,会调用下面方法,可以重写方法实现菜单自定义:

public class CustomMessageListComponent extends MessageListComponent {
@Override
protected List<MsgAction<UiMessage>> beforeCreateMsgActionView(List<MsgAction<UiMessage>> msgActions) {
// 方式1. 移除删除按钮
Iterator<MsgAction<UiMessage>> iterator = msgActions.iterator();
while (iterator.hasNext()) {
MsgAction<UiMessage> msgAction = iterator.next();
if (msgAction instanceof DeleteMsgAction) {
iterator.remove();
}
}

// 方式2. 添加自定义的 CustomMsgAction 到指定位置
msgActions.add(0, new CustomMsgAction());
return msgActions;
}
}

默认的菜单选项可以根据 class 来区分,参考如下:

功能class
回复ReplyMsgAction
转发ForwardMsgAction
复制CopyMsgAction
删除DeleteMsgAction
选择MultiMsgAction