更新时间:2024-12-27 GMT+08:00
自定义与会者列表页面中的菜单
该接口用于自定义与会者列表页面中的菜单,包括下面六种菜单:
1.buildParticipantMoreMenuItems:自定义标题栏右侧菜单项
图1中区域1位置的菜单
2.buildParticipantItemMenuItems:自定义与会者列表项点击弹出的菜单
3.buildParticipantToolbarMenuItems:自定义与会者会中页面底部菜单栏
图1中区域3位置的菜单
4.buildParticipantToolbarMoreMenuItems:自定义点击底部更多菜单项弹出的菜单
5.buildWaitingToolbarMenuItems:自定义与会者等候室页面底部菜单栏
图4中红框区域位置的菜单
6.buildUnJoinedToolbarMenuItems:自定义与会者未入会页面底部菜单栏
图5中红框区域位置的菜单
使用场景
需要自定义与会者页面六个区域菜单项的场景
注意事项
1.SDK初始化的时候必须传入这个配置sdkConfig才会生效
自定义与会者列表点击菜单设置
示例代码
1
|
sdkConfig.setParticipantMenuStrategy(new CustomParticipantMenuHandle()); |
示例代码
public class CustomParticipantMenuHandle implements IParticipantMenuStrategy {
@Override
public List<IConfMenu> buildParticipantMoreMenuItems() {
List<IConfMenu> confMenus = new ArrayList<>();
confMenus.add(new ParticipantShareMenu());
confMenus.add(new ContantMenu());
//【演示】增加一个自定义菜单
confMenus.add(new CustomMoreMenu());
return confMenus;
}
@Override
public List<IConfMenu> buildParticipantItemMenuItems() {
List<IConfMenu> confMenus = new ArrayList<>();
// 分组1
confMenus.add(new MuteOrUnmuteMenu());//静音
confMenus.add(new CameraMenu());//视频
confMenus.add(new HandsUpOrDownMenu().setDarkIcon(true));//举手
confMenus.add(new SelectWatchOrCacnelMenu());//选看
confMenus.add(new PrivateChatMenu());// 私聊
confMenus.add(new SharingBroadcastAndCancelMenu());//广播共享
confMenus.add(new BroastAndCacelMenu());//广播视频
// 分组2
confMenus.add(new RenameMenu());//改名
confMenus.add(new InviteOrCancelShareMenu());//邀请共享或取消共享
confMenus.add(new GrantOrCancelLocalRecordMenu());//允许或禁止本地录制
confMenus.add(new SetAttendeeMenu());//设为观众
confMenus.add(new ReleaseOrRequestChairManMenu());//申请/释放主持人
confMenus.add(new SetChairmanMenu());//设为主持人
confMenus.add(new SetOrCancelCoHostMenu());//设为/撤销联席主持人
confMenus.add(new MoveToWaitingRoomMenu()); // 移至等候室
confMenus.add(new RecallMenu());//重新呼叫
if (HWMBizSdk.getPublicConfigApi().isChinaSite()) {
confMenus.add(new CallOtherNumberMenu());//呼叫其他号码
}
// 分组3
confMenus.add(new HangupMenu());//挂断
confMenus.add(new AdmitMenu());//准入
confMenus.add(new AutoAdmitMenu());//自动准入
confMenus.add(new RemoveMenu());//移除
//【演示】增加一个自定义菜单
confMenus.add(new CustomMoreMenu());
return confMenus;
}
@Override
public List<IConfMenu> buildParticipantToolbarMenuItems() {
List<IConfMenu> confMenus = new ArrayList<>();
//--------------主席身份下才有的菜单-------------
//全场静音
confMenus.add(new MuteAllMenu());
//取消全场静音
confMenus.add(new CancelAllMuteMenu());
//更多
confMenus.add(new MoreMenu());
//--------------非主席身份下才有的菜单-------------
//举手
confMenus.add(new HandsupMenu());
//手放下
confMenus.add(new HandsDownMenu());
//申请主持人
confMenus.add(new RequestChairmanMenu());
//-----------演示增加自定义菜单----------
confMenus.add(new CustomMenu());
return confMenus;
}
@Override
public List<IConfMenu> buildWaitingToolbarMenuItems() {
List<IConfMenu> confMenus = new ArrayList<>();
confMenus.add(new AdmitAllMenu());
confMenus.add(new RemoveAllMenu());
return confMenus;
}
@Override
public List<IConfMenu> buildUnJoinedToolbarMenuItems() {
List<IConfMenu> confMenus = new ArrayList<>();
confMenus.add(new CallAllMenu());
return confMenus;
}
@Override
public List<IConfMenu> buildParticipantToolbarMoreMenuItems() {
List<IConfMenu> confMenus = new ArrayList<>();
confMenus.add(new ReleaseOrRequestChairManMenu());
confMenus.add(new AllowUnmuteOrNotMenu());
confMenus.add(new LockOrUnlockConfMenu());
//【演示】增加一个自定义菜单
confMenus.add(new CustomMoreMenu());
return confMenus;
}
}
父主题: 界面定制




