Customizing a Menu on the Participants Screen
This API is used to customize the following menus on the Participants screen:
1. buildParticipantMoreMenuItems: customizes the menu items (area 1 in Figure 1) on the right of the title bar.
2. buildParticipantItemMenuItems: customizes the menu (Figure 2) displayed when a user touches a participant (area 2 in Figure 1) in the participant list.
3. buildParticipantToolbarMenuItems: customizes the bottom menu bar (area 3 in Figure 1) of the Participants screen during a meeting.
4. buildParticipantToolbarMoreMenuItems: customizes the menu (Figure 3) displayed when a user touches More (area 4 in Figure 1) at the bottom.
5. buildWaitingToolbarMenuItems: customizes the menu bar (in the red box in Figure 4) at the bottom of the Waiting screen.
6. buildUnJoinedToolbarMenuItems: customizes the menu bar (in the red box in Figure 5) at the bottom of the Absent screen.
Application Scenarios
Menu items in the six areas on the Participants screen need to be customized.
Precautions
1. sdkConfig takes effect only when this configuration is passed during SDK initialization.
Customizing the Menu Items on the Participants Screen
Sample Code
1
|
sdkConfig.setParticipantMenuStrategy(new CustomParticipantMenuHandle()); |
Customizing a More Menu in the Participants List
Sample Code
public class CustomParticipantMenuHandle implements IParticipantMenuStrategy {
@Override
public List<IConfMenu> buildParticipantMoreMenuItems() {
List<IConfMenu> confMenus = new ArrayList<>();
confMenus.add(new ParticipantShareMenu());
confMenus.add(new ContantMenu());
// [Demo] Add a custom menu.
confMenus.add(new CustomMoreMenu());
return confMenus;
}
@Override
public List<IConfMenu> buildParticipantItemMenuItems() {
List<IConfMenu> confMenus = new ArrayList<>();
// Group 1
confMenus.add(new MuteOrUnmuteMenu());// Mute
confMenus.add(new CameraMenu());// Video
confMenus.add(new HandsUpOrDownMenu().setDarkIcon(true));// Raise hand
confMenus.add(new SelectWatchOrCacnelMenu());// Focus
confMenus.add(new PrivateChatMenu());// Direct message
confMenus.add(new SharingBroadcastAndCancelMenu());// Broadcast sharing
confMenus.add(new BroastAndCacelMenu());// Broadcast video
// Group 2
confMenus.add(new RenameMenu());// Rename
confMenus.add(new InviteOrCancelShareMenu());// Invite to share or cancel sharing
confMenus.add(new GrantOrCancelLocalRecordMenu());// Allow or forbid local recording
confMenus.add(new SetAttendeeMenu());// Set as panelist
confMenus.add(new ReleaseOrRequestChairManMenu());// Apply to be host or relinquish host role
confMenus.add(new SetChairmanMenu());// Set as host
confMenus.add(new SetOrCancelCoHostMenu());// Set or unassign as co-host
confMenus.add(new MoveToWaitingRoomMenu()); // Move to waiting room
confMenus.add(new RecallMenu());// Recall
if (HWMBizSdk.getPublicConfigApi().isChinaSite()) {
confMenus.add(new CallOtherNumberMenu());// Call other number
}
// Group 3
confMenus.add(new HangupMenu());// Disconnect
confMenus.add(new AdmitMenu());// Admit
confMenus.add(new AutoAdmitMenu());// Auto admit
confMenus.add(new RemoveMenu());// Remove
// [Demo] Add a custom menu.
confMenus.add(new CustomMoreMenu());
return confMenus;
}
@Override
public List<IConfMenu> buildParticipantToolbarMenuItems() {
List<IConfMenu> confMenus = new ArrayList<>();
//--------------Menus available only for hosts-------------
// Mute all
confMenus.add(new MuteAllMenu());
// Unmute all
confMenus.add(new CancelAllMuteMenu());
// More
confMenus.add(new MoreMenu());
//--------------Menus available only for non-host users-------------
// Raise hand
confMenus.add(new HandsupMenu());
// Lower hand
confMenus.add(new HandsDownMenu());
// Apply to be host
confMenus.add(new RequestChairmanMenu());
//-----------Demo of adding a custom menu----------
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());
// [Demo] Add a custom menu.
confMenus.add(new CustomMoreMenu());
return confMenus;
}
}
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot




