Conference
  • 개요
  • Web
    • Demo 실행
    • 통합
    • UI 맞춤화
    • Conference Control
    • 룸 내 채팅
    • 클라우드 녹화
    • AI 노이즈 캔슬링
    • 로봇 스트리밍
    • Virtual Background
    • 더 많은 기능
      • 플로팅 윈도우
      • Text Watermark
    • 인터페이스 문서
      • RoomKit 인터페이스
      • RoomEngine 인터페이스
        • 인터페이스 개요
        • TUIRoomEngine
        • TUIRoomEvents
        • TUIRoomEngine 정의
    • 자주 받는 질문들
  • iOS
    • Demo 실행
    • 통합
    • UI 맞춤화
    • 미팅 제어
    • 룸 내 채팅
    • 클라우드 녹화
    • AI 노이즈 캔슬링
    • 로봇 스트리밍
    • 더 많은 기능
      • 플로팅 윈도우
    • 인터페이스 문서
      • RoomKit 인터페이스
      • RoomEngine 인터페이스
        • 인터페이스 개요
        • TUIRoomEngine
        • TUIRoomObserver
        • 유형 정의
    • 자주 받는 질문들
  • Android
    • Demo 실행
    • 통합
    • UI 맞춤화
    • 미팅 제어
    • 룸 내 채팅
    • 클라우드 녹화
    • AI 노이즈 캔슬링
    • 로봇 스트리밍
    • 더 많은 기능
      • 플로팅 윈도우
    • 인터페이스 문서
      • RoomKit 인터페이스
      • RoomEngine 인터페이스
        • 인터페이스 개요
        • TUIRoomEngine
        • TUIRoomObserver
        • 유형 정의
    • 자주 받는 질문들
  • Electron
    • Demo 실행
    • 통합
    • UI 맞춤화
    • Conference Control
    • 룸 내 채팅
    • 클라우드 녹화
    • AI 노이즈 캔슬링
    • 로봇 스트리밍
    • 더 많은 기능
      • 플로팅 윈도우
      • Text Watermark
    • 인터페이스 문서
      • RoomKit 인터페이스
      • RoomEngine 인터페이스
        • 인터페이스 개요
        • TUIRoomEvent
        • TUIRoomEngine
        • TUIRoomEngine 정의
    • 자주 받는 질문들
  • Flutter
    • Demo 실행
    • 통합
    • UI 맞춤화
    • 미팅 제어
    • In-Conference Chat
    • 클라우드 녹화
    • AI 노이즈 캔슬링
    • 로봇 스트리밍
    • 더 많은 기능
      • 플로팅 윈도우
    • 인터페이스 문서
      • RoomKit 인터페이스
      • RoomEngine 인터페이스
        • 인터페이스 개요
        • TUIRoomEngine
        • TUIRoomObserver
        • 유형 정의
    • 자주 받는 질문들
  • 개요
    • 개요
  • 서비스 활성화
  • 가격
    • 무료시간
    • 오디오/비디오 TRTC Conference 월정액 패키지
    • 구독 패키지 기간 과금 설명
    • 종량제
      • 오디오 및 비디오 시간 과금 설명
      • 클라우드 녹화 과금 설명
      • 믹스 트랜스코딩 및 CDN 중계 과금 설명
  • 서버 API
    • REST API
      • RESTful API Overview
      • RESTful API List
      • Room Management
        • Create a Room
        • Destroy a Room
        • Update the Room Information
        • Get the Room Information
      • User Management
        • Get the Room Member List
        • Update the Room Member Information
        • Change the Room Ownership
        • Mark Room Members
        • Ban Room Members
        • Unban Room Members
        • Get the Banned Room Member List
        • Remove Room Member
      • Seat Management
        • Get the Seat List
        • Pick User on the Seat
        • Kick User off the Seat
        • Lock the Seat
    • Third-Party Callback
      • Callback Overview
      • Callback Command List
      • Callback Configuration
        • Query Callback Configuration
        • Create Callback Configuration
        • Update Callback Configuration
        • Delete Callback Configuration
      • Room Related
        • After a Room Is Created
        • After a Room Is Destroyed
        • After the Room Information Is Updated
      • User Related
        • After a Room Is Entered
        • After a Room Is Left
      • Seat Connection Related
        • After the Seat List Is Changed
  • Error Code
Conference
이 페이지는 현재 영어로만 제공되며 한국어 버전은 곧 제공될 예정입니다. 기다려 주셔서 감사드립니다.

UI 맞춤화

This article will introduce how to customize the User Interface of TUIRoomKit. We provide two solutions for you to choose from: Fine-tuning Solution and Self-implemented UI Solution.

Solution 1: Fine-tuning Solution

By directly modifying the UI source code we provide, you can adjust the User Interface of TUIRoomKit. The source code of TUIRoomKit's interface is located in the Android/tuiroomkit folder on Github:

Replace Icon

You can directly replace the icons in the src/res/drawable-xxhdpi folder to ensure that the color tone and style of the icons in the entire App remain consistent. Please keep the name of the icon file unchanged when replacing.




Replace Copywriting

You can modify the string content of the video conference interface by modifying the strings.xml files in values-zh and values-en.

Solution 2: Custom Partial UI Solution

The UI code of TUIRoomKit is located in the src/main/java/com/tencent/cloud/tuikit/roomkit/view directory, and the screen view is in the TUIVideoSeat Component.
The key files of TUIRoomKit's View are as follows. You can change the corresponding view according to your needs and adjust your UI.
|—— PrepareActivity // Preparation page Activity
|
|—— CreateRoomActivity // Create room Activity
|
|—— EnterRoomActivity // Enter room Activity
|
activity ——|—— RoomMainActivity // Room main page Activity
|
view ——|
|
component——|—— PrepareView // Preparation page View
|
|—— CreateRoomView // Create room View
|
|—— EnterRoomView // Enter room View
|
|—— RoomMainView // Audio/video conference main page View
|
|—— TopView // Top button view, including: Speaker/Receiver switch, Switch Camera, etc.
|
|—— BottomView // Bottom button view, including: Camera, Mic, Member Management, etc.
|
|—— UseListView // User List view
|
|—— RaiseHandApplicationListView // Raise Hand to Speak mode, Raise Hand application list page
|
|—— TransferMasterView // Room Owner Transfer page
|
|—— MoreFunctionView // "More" function view, including Chat, Beauty, and Set up functions
|
|—— MeetingActivity // Audio/video conference main activity

Modification of BottomView's Bottom Button

To make it easier for you to customize the bottom function buttons, our BottomView is automatically constructed by reading the list. Taking the video switch button as an example, the code is as follows.
private BottomItemData createCameraItem() {
BottomItemData cameraItemData = new BottomItemData();
//Set button type to differentiate different buttons
cameraItemData.setType(BottomItemData.Type.VIDEO);
//Set whether the button is clickable
if (isOwner()) {
cameraItemData.setEnable(true);
} else if (mRoomStore.roomInfo.enableSeatControl) {
cameraItemData.setEnable(false);
} else {
cameraItemData.setEnable(mRoomStore.roomInfo.enableVideo);
}
//Set the default icon of the button
cameraItemData.setIconId(R.drawable.tuiroomkit_ic_camera_off);
//Set the background image of the button
cameraItemData.setBackground(R.drawable.tuiroomkit_bg_bottom_item_black);
//Set the icon of the button when it is not clickable
cameraItemData.setDisableIconId(R.drawable.tuiroomkit_ic_camera_off);
//Set the default icon of the button
cameraItemData.setName(mContext.getString(R.string.tuiroomkit_item_open_camera));
//Button click effect, if your button needs to switch images/names, etc. when clicked, you need to construct this data
BottomSelectItemData camaraSelectItemData = new BottomSelectItemData();
//Set the name of the button when selected
camaraSelectItemData.setSelectedName(mContext.getString(R.string.tuiroomkit_item_close_camera));
//Set the name of the button when not selected
camaraSelectItemData.setUnSelectedName(mContext.getString(R.string.tuiroomkit_item_open_camera));
//Set whether the button is selected
camaraSelectItemData.setSelected(false);
//Set the icon of the button when selected
camaraSelectItemData.setSelectedIconId(R.drawable.tuiroomkit_ic_camera_on);
//Set the icon of the button when not selected
camaraSelectItemData.setUnSelectedIconId(R.drawable.tuiroomkit_ic_camera_off);
//Set the click event of the button when selected/unselected
camaraSelectItemData.setOnItemSelectListener(new BottomSelectItemData.OnItemSelectListener() {
@Override
public void onItemSelected(boolean isSelected) {
enableCamera(isSelected);
}
});
cameraItemData.setSelectItemData(camaraSelectItemData);
return cameraItemData;
}

Solution 3: Custom All UI Solution

The overall function of TUIRoomKit is based on the TUIRoomEngine, a UI-less SDK. You can completely implement your own UI interface based on TUIRoomEngine. For details, please refer to
the TUIRoomEngine API interface address.