其他界面定制
更新时间: 2026/01/06 15:49:38
本文介绍在安卓平台上使用网易会议组件 NEMeetingKit 有关界面定制的其他场景。
设置悬浮窗大小
您可以通过 NEWindowSize 自定义会议最小化时的悬浮窗口大小。
示例代码如下:
Java// 创建会议选项对象
NEJoinMeetingOptions options = new NEJoinMeetingOptions();
// 设置悬浮窗口大小(宽度和高度,单位为 dp)
NEWindowSize windowSize = new NEWindowSize();
windowSize.width = 120.0; // 宽度为 120dp
windowSize.height = 180.0; // 高度为 180dp
// 设置到会议选项中
options.floatingWindowSize = windowSize;
// 加入会议
NEMeetingKit.getInstance().getMeetingService().joinMeeting(context, params, options, callback);
自定义会中 UI 单击监听
您可以通过实现 NEMeetingViewClickListener 接口来自定义会议信息的显示和管理参会者中的邀请功能。
示例代码如下:
Java// 创建会议视图单击监听器
NEMeetingViewClickListener viewClickListener = new NEMeetingViewClickListener() {
@Override
public boolean onClickMeetingInfoIcon(Context context, NEMeetingInfo meetingInfo) {
// 自定义会议信息显示逻辑
String meetingId = meetingInfo.getMeetingId();
String subject = meetingInfo.getSubject();
String hostName = meetingInfo.getHostName();
// 显示自定义会议信息对话框
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("会议详情")
.setMessage("会议 ID: " + meetingId + "\n主题: " + subject + "\n主持人: " + hostName)
.setPositiveButton("复制会议号", (dialog, which) -> {
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("会议号", meetingId);
clipboard.setPrimaryClip(clip);
Toast.makeText(context, "会议号已复制", Toast.LENGTH_SHORT).show();
})
.setNegativeButton("关闭", null)
.show();
// 返回 true 表示拦截默认的会议信息显示
return true;
}
@Override
public boolean onClickInviteIcon(Context context, NEMeetingInfo meetingInfo) {
// 自定义邀请功能逻辑
String inviteText = "我正在参加一个会议,会议 ID: " + meetingInfo.getMeetingId() +
",主题: " + meetingInfo.getSubject() +
",请通过以下链接加入: https://meeting.example.com/" + meetingInfo.getMeetingId();
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_TEXT, inviteText);
shareIntent.setType("text/plain");
context.startActivity(Intent.createChooser(shareIntent, "邀请参会者"));
// 返回 true 表示拦截默认的邀请功能
return true;
}
};
// 设置会议视图单击监听器,需要在加入会议前设置
NEMeetingKit.getInstance().setMeetingViewClickListener(viewClickListener);
其他 UI 定制选项
NEMeetingKit 中的 NEMeetingOptions 提供了丰富的会中 UI 配置选项,以下是一些常用配置:
Java// 创建会议选项对象
NEJoinMeetingOptions options = new NEJoinMeetingOptions();
// 隐藏聊天功能
options.noChat = true;
// 隐藏邀请按钮
options.noInvite = true;
// 隐藏白板共享
options.noWhiteBoard = true;
// 配置视频画面上显示用户名
options.showNameInVideo = true;
// 配置会议信息显示选项
options.meetingIdDisplayOption = NEMeetingIdDisplayOption.DISPLAY_ALL;
// 配置表情回应是否显示
options.showEmojiResponse = true;
// 配置举手功能是否显示
options.showHandsUp = true;
// 配置会议中是否显示会议信息查看入口
options.showMeetingInfo = true;
// 配置是否显示会议剩余时间提醒
options.showMeetingRemainingTip = true;
// 配置摄像头镜像
options.enableFrontCameraMirror = true;
// 使用配置项加入或开始会议
NEMeetingKit.getInstance().getMeetingService().joinMeeting(context, params, options, callback);
// 或
NEMeetingKit.getInstance().getMeetingService().startMeeting(context, params, options, callback);
此文档是否对你有帮助?




