产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明

import android.content.Contextimport android.os.Bundleimport androidx.appcompat.app.AppCompatActivityimport com.trtc.uikit.livekit.features.livelist.LiveListViewimport com.trtc.uikit.livekit.features.livelist.Styleclass YourActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)// 1.创建并初始化瀑布流视图val view = createLiveListView(this)// 2.将创建的 LiveListView 添加到您的 Activity 或 Fragment 中setContentView(view)}fun createLiveListView(context: Context): LiveListView {val liveListView = LiveListView(context)// 初始化为双列瀑布流liveListView.init(this, Style.DOUBLE_COLUMN)return liveListView}}
OnItemClickListener 回调处理点击事件,您只需在直播列表瀑布流视图中实现 OnItemClickListener 来响应用户的点击事件,并在 onItemClick 中实现跳转进入观众观看页的功能,观众观看页实现可参考 观众观看 。
fun createLiveListView(context: Context): LiveListView {val liveListView = LiveListView(context)// 初始化为双列瀑布流liveListView.init(this, Style.DOUBLE_COLUMN)liveListView.setOnItemClickListener { view, liveInfo ->// 点击直播列表项时,跳转进入到观众观看页面val intent = Intent(context, YourAudienceActivity::class.java)intent.putExtra("liveId", liveInfo.roomId)context.startActivity(intent)}return liveListView}
TUILiveKit 提供了灵活的接口定制直播列表瀑布流组件,您可以根据业务需求自定义数据源和列表项样式。LiveListDataSource 接口来自定义数据源,而不使用组件默认的列表数据。// 1.导入依赖import com.trtc.uikit.livekit.features.livelist.LiveListDataSource;// 2.通过实现 LiveListDataSource 自定义数据源val dataSource = object : LiveListDataSource {override fun fetchLiveList(param: FetchLiveListParam,callback: LiveListCallback) {// 对接自己的业务后台,按照下面的格式返回数据给UI组件val liveInfoList = mutableListOf<TUILiveListManager.LiveInfo>()val liveInfo = TUILiveListManager.LiveInfo().apply {roomInfo = TUIRoomDefine.RoomInfo().apply {roomId = "live_123456"name = "live_123456"}}liveInfoList.add(liveInfo)val cursor = "aabbccdd"callback.onSuccess(cursor, liveInfoList)}}// 3.初始化时传入自定义的 dataSourceliveListView.init(this, Style.DOUBLE_COLUMN, dataSource = dataSource)
UI 元素(例如主播头像、直播标题等),可以通过实现 LiveListViewAdapter 接口来完成。// 1.导入依赖import com.trtc.uikit.livekit.features.livelist.LiveListViewAdapter;// 2.通过实现 LiveListViewAdapter 自定义挂件val liveListViewAdapter = object : LiveListViewAdapter {override fun createLiveInfoView(liveInfo: TUILiveListManager.LiveInfo): View {// 自定义挂件 viewval widgetView = YourView(context)widgetView.init(liveInfo)return widgetView}override fun updateLiveInfoView(view: View, liveInfo: TUILiveListManager.LiveInfo) {// 更新挂件 view 中绑定的数据val widgetView = view as YourViewwidgetView.updateLiveInfoView(liveInfo)}}// 3.初始化时传入自定义的 liveListViewAdapterliveListView.init(this, Style.DOUBLE_COLUMN, adapter = liveListViewAdapter)
LiveListDataSource 接口。重点检查以下几点:fetchLiveList 方法是否被正确调用。callback.onSuccess 或 callback.onFailure。文档反馈