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

TUILiveKit。react-native-safe-area-context,如未安装,运行下列命令进行安装:yarn add react-native-safe-area-context
TUILiveKit 已内置了直播场景的直播列表相关完整 UI 与业务逻辑。您只需要配置 LiveListPage 的调用入口(具体由您的业务决定),执行如下操作,跳转到直播列表页面。useState 进行简单的页面切换演示。在实际项目中,建议使用 React Navigation 等导航库进行页面管理。如需了解如何集成导航库,请参考 React Navigation 官方文档。/*** 简单导航示例 - 使用 useState 管理页面跳转*/import React, { useState } from 'react';import { View, Button, StyleSheet } from 'react-native';import { SafeAreaProvider } from 'react-native-safe-area-context';import { LiveListPage } from 'react-native-tuikit-live';type PageType = 'home' | 'liveList' | 'liveEnd' | 'liveAudience';function MyApp() {const [currentPage, setCurrentPage] = useState<PageType>('home');// 跳转到直播列表页面const handleJumpLiveList = async () => {setCurrentPage('liveList');};// 从直播列表页返回const handleBackFromLiveList = () => {setCurrentPage('home');};return (<SafeAreaProvider>{currentPage === 'home' && (<View style={styles.container}><Button title="进入直播列表" onPress={handleJumpLiveList} /></View>)}{currentPage === 'liveList' && (<LiveListPageonBack={handleBackFromLiveList}/>)}{currentPage === 'liveEnd' && (<View style={styles.container}><Button title="返回首页" onPress={() => setCurrentPage('home')} /></View>)}</SafeAreaProvider>);}const styles = StyleSheet.create({container: {flex: 1,justifyContent: 'center',alignItems: 'center',},});export default MyApp;
TUILiveKit 支持灵活定制直播列表页的功能和样式,您可根据业务需求调整布局。tuikit-atomic-x/src/components/LiveList.tsx 文件。const CARD_WIDTH = (SCREEN_WIDTH - CONTAINER_PADDING * 2 - CARD_GAP) / 2; // 一行两个// 将直播列表分组,每行两个元素const groupedLiveList = useMemo(() => {const groups: LiveInfoParam[][] = [];for (let i = 0; i < filteredLiveList.length; i += 2) {groups.push(filteredLiveList.slice(i, i + 2));}return groups;}, [filteredLiveList]);
const CARD_WIDTH = (SCREEN_WIDTH - CONTAINER_PADDING * 2); // 一行一个const groupedLiveList = useMemo(() => {const groups: LiveInfoParam[][] = [];for (let i = 0; i < filteredLiveList.length; i += 1) { // 把 2 改成 1groups.push(filteredLiveList.slice(i, i + 1)); // 把 2 改成 1}return groups;}, [filteredLiveList]);

文档反馈