更新时间: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; } }
父主题: 界面定制