自定义菜单栏
自定义菜单栏按钮列表
您可以配置 Call Kit 菜单栏的按钮。要删除默认按钮或向底部菜单栏添加自定义按钮,您可以配置bottomMenuBarConfig
:
Note
如需配置顶部菜单栏按钮或向顶部菜单栏添加自定义按钮,请使用topMenuBarConfig
。
buttons
:菜单栏中放置的内置按钮。默认情况下,所有按钮都会显示。如果您需要隐藏某些按钮,请修改此配置。maxCount
:菜单栏可以显示的最大按钮数,取值范围为 [1, 5],默认值为 5。extendButtons
:使用此配置向菜单栏添加自定义按钮。
如果内置按钮和自定义按钮的总数不超过 5 个,所有按钮都将显示。 当按钮总数超过 5 个时,无法显示的按钮将隐藏在三点按钮(⋮)中。单击此按钮将弹出底部表单呼出剩余按钮。
效果如下:
代码参考如下:
基本通话
携带邀请的通话
public class CallActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_call);
long appID = YourAppID;
String appSign = YourAppSign;
String userID = "userID";
String userName = "userName";
String callID = "testCallID";
// 在此处修改您的自定义配置。
ZegoUIKitPrebuiltCallConfig config = ZegoUIKitPrebuiltCallConfig.oneOnOneVideoCall();
config.bottomMenuBarConfig.buttons = Arrays.asList(ZegoMenuBarButtonName.TOGGLE_CAMERA_BUTTON,ZegoMenuBarButtonName.SWITCH_CAMERA_BUTTON, ZegoMenuBarButtonName.HANG_UP_BUTTON,ZegoMenuBarButtonName.TOGGLE_MICROPHONE_BUTTON, ZegoMenuBarButtonName.SWITCH_AUDIO_OUTPUT_BUTTON);
ZegoUIKitPrebuiltCallFragment fragment = ZegoUIKitPrebuiltCallFragment
.newInstance(appID, appSign, callID, userID, userName, config);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, fragment)
.commitNow();
}
}
1
public class MainActivity extends AppCompatActivity {
long appID = YourAppID;
String appSign = YourAppSign;
String userID = "userID";
String userName = "userName";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initCallInviteService();
}
public void initCallInviteService() {
ZegoUIKitPrebuiltCallInvitationConfig callInvitationConfig = new ZegoUIKitPrebuiltCallInvitationConfig();
callInvitationConfig.provider = new ZegoUIKitPrebuiltCallConfigProvider() {
@Override
public ZegoUIKitPrebuiltCallConfig requireConfig(ZegoCallInvitationData invitationData) {
ZegoUIKitPrebuiltCallConfig config = ZegoUIKitPrebuiltCallConfig.oneOnOneVideoCall();
// 在此处修改您的自定义呼叫配置。
config.bottomMenuBarConfig.buttons = Arrays.asList(ZegoMenuBarButtonName.TOGGLE_CAMERA_BUTTON,ZegoMenuBarButtonName.SWITCH_CAMERA_BUTTON, ZegoMenuBarButtonName.HANG_UP_BUTTON,ZegoMenuBarButtonName.TOGGLE_MICROPHONE_BUTTON, ZegoMenuBarButtonName.SWITCH_AUDIO_OUTPUT_BUTTON);
return config;
}
};
ZegoUIKitPrebuiltCallService.init(getApplication(), appID, appSign, userID, userName,callInvitationConfig);
}
@Override
protected void onDestroy() {
super.onDestroy();
ZegoUIKitPrebuiltCallService.logout();
}
}
1
自定义菜单栏的隐藏行为
Call Kit 支持自动或手动隐藏菜单栏。您可以使用ZegoBottomMenuBarConfig
中的以下两个配置来控制此功能:
hideByClick
:是否可以通过单击不响应区域来隐藏菜单栏,默认启用。hideAutomatically
:是否在用户不活动5秒后自动隐藏菜单栏,默认启用。
向菜单栏添加聊天按钮
您可以修改 config.bottomMenuBarConfig.buttons
以将聊天按钮添加到菜单栏。
代码参考如下:
Untitled
config.bottomMenuBarConfig.buttons = Arrays.asList(ZegoMenuBarButtonName.CHAT_BUTTON, ZegoMenuBarButtonName.TOGGLE_CAMERA_BUTTON,ZegoMenuBarButtonName.SWITCH_CAMERA_BUTTON, ZegoMenuBarButtonName.HANG_UP_BUTTON,ZegoMenuBarButtonName.TOGGLE_MICROPHONE_BUTTON, ZegoMenuBarButtonName.SWITCH_AUDIO_OUTPUT_BUTTON);
1
自定义 UIKit 内置按钮图片
您可以修改 config.bottomMenuBarConfig.buttonConfig
来更改按钮图像。
Untitled
config.bottomMenuBarConfig.buttonConfig.toggleCameraOnImage = drawableXXX;
1