Call Core View
class CallCoreView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : ConstraintLayout
通话核心视图组件,负责通话界面的视频渲染与交互展示。支持多布局切换(单人悬浮/多人宫格/画中画)、呼叫等待动画、以及音量、网络状态和用户头像的个性化配置。
概览
CallCoreView 用于展示通话画面的核心视图组件。 CallCoreView 是通话界面的主要容器,提供以下核心能力:
多布局切换: 支持单人悬浮、多人宫格、画中画三种布局模式切换。
呼叫等待交互: 支持自定义呼叫接通前的等待动画。
状态可视化: 支持自定义不同音量等级和网络质量状态的图标。
用户个性化: 支持通过 User ID 映射设置参与者头像。
主要功能
多布局切换:支持单人悬浮、多人宫格、画中画三种布局模式切换
呼叫等待交互:支持自定义呼叫接通前的等待动画
状态可视化:支持自定义不同音量等级和网络质量状态的图标
用户个性化:支持通过 User ID 映射设置参与者头像
Tip: 该视图组件需要配合 CallStore 使用,以正确展示通话画面并接收通话状态更新。
方法概览
| 功能 | 方法 | 说明 |
| 多布局切换 | setLayoutTemplate | 切换通话界面布局(单人悬浮/多人宫格/画中画) |
| 等待动画 | setWaitingAnimation | 设置呼叫等待状态下的加载动画 |
| 音量图标 | setVolumeLevelIcons | 自定义各音量等级对应的图标 |
| 网络图标 | setNetworkQualityIcons | 自定义各网络质量等级对应的图标 |
| 用户头像 | setParticipantAvatars | 设置参与者的头像图片 |
使用示例
import io.trtc.tuikit.atomicxcore.api.view.*
// 创建通话视图
val callCoreView = CallCoreView(context)
addView(callCoreView)
// 设置布局模式
callCoreView.setLayoutTemplate(CallLayoutTemplate.GRID)
// 设置等待动画
callCoreView.setWaitingAnimation("waiting_animation.json")
// 设置音量图标
callCoreView.setVolumeLevelIcons(mapOf(
VolumeLevel.MUTE to "volume_mute",
VolumeLevel.LOW to "volume_low",
VolumeLevel.MEDIUM to "volume_medium",
VolumeLevel.HIGH to "volume_high",
VolumeLevel.PEAK to "volume_peak"
))
// 设置网络质量图标
callCoreView.setNetworkQualityIcons(mapOf(
NetworkQuality.UNKNOWN to "network_unknown",
NetworkQuality.EXCELLENT to "network_excellent",
NetworkQuality.GOOD to "network_good",
NetworkQuality.POOR to "network_poor",
NetworkQuality.BAD to "network_bad",
NetworkQuality.VERY_BAD to "network_very_bad",
NetworkQuality.DOWN to "network_down"
))
// 设置参与者头像
callCoreView.setParticipantAvatars(mapOf(
"user_123" to "avatar_user_123",
"user_456" to "avatar_user_456"
))Content copied to clipboard
Topics
静态属性
defaultAvatarImage - 默认占位头像
waitingAnimationImage - 呼叫等待动画
volumeImages - 音量状态图标集合
networkQualityImages - 网络信号图标集合
participantAvatars - 参与者头像集合
配置方法
setLayoutTemplate - 多布局切换
setWaitingAnimation - 配置等待动画
setVolumeLevelIcons - 配置音量图标
setNetworkQualityIcons - 配置网络图标
setParticipantAvatars - 配置参与者头像