Menu

Flutter

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 custom UI solution.

Solution 1: Fine-tuning solution

By directly modifying the UI source code we provide, you can adjust the user interface of TUIRoomKit.

Replace icons

You can directly modify the icon components in the rtc_conference_tui_kit/assets/images folder to ensure that the icon color tone style is consistent throughout the app. Please keep the icon file name unchanged when replacing.



Replace copywriting

You can modify the en_us.dart and zh_cn.dart files in the rtc_conference_tui_kit/lib/common/languages folder to change the string content of the video conference interface.

Solution 2: Custom part of UI solution

The UI component folders of TUIRoomKit are as follows. You can modify the view.dart in the corresponding folder to customize the UI according to your actual business needs.
├── lib
├── common
│ └── widgets
│ ├── bottom_sheet.dart (<1 KB) // Universal bottom sheet
│ ├── copy_text_button.dart (1 KB) // Universal copy button
│ ├── dialog.dart (3 KB) // Universal dialog
│ ├── drop_down_button.dart (<1 KB) // Universal dropdown button
│ ├── info_list.dart (1 KB) // Universal information display item
│ ├── invite_sheet.dart (1 KB) // Universal invitation popup
│ ├── rounded_container.dart (<1 KB) // Universal rounded corner container
│ ├── search_bar.dart (1 KB) // Universal search bar
│ ├── single_select_list.dart (1 KB) // Universal single select list
│ ├── slider.dart (1 KB) // Universal slider
│ ├── switch.dart (<1 KB) // Universal switcher
│ ├── toast.dart (<1 KB) // Universal toast
│ └── user_info.dart (2 KB) // Universal user info item
├── pages
│ └── conference_main
│ ├── view.dart
│ └── widgets
│ ├── bottom_view
│ │ ├── view.dart (1 KB) // Function button of bottom bar
│ │ └── widgets
│ │ ├── base_button.dart (7 KB) // Unexpanded basic bottom function buttons
│ │ ├── bottom_button_item.dart (1 KB) // Encapsulated universal bottom single item button
│ │ └── more_button.dart (1 KB) // All bottom function buttons after expansion
│ ├── exit
│ │ └── view.dart (2 KB) // Bottom sheet of exit room
│ ├── local_screen_sharing.dart (1 KB) // Prompt component during screen sharing in the middle of the screen after turning on screen sharing locally
│ ├── raise_hand_list
│ │ ├── view.dart (2 KB) // Raise hand application list (only displayed on the host in raise hand speaking mode)
│ │ └── widgets
│ │ ├── title.dart (<1 KB) // List title bar
│ │ ├── user_item.dart (1 KB) // A single item of the encapsulated list component
│ │ └── user_table.dart (1 KB) // List component
│ ├── setting
│ │ ├── view.dart (1 KB) // Settings panel
│ │ └── widgets
│ │ ├── audio_setting.dart (1 KB)。 // Audio setting component
│ │ ├── setting_info_select.dart (1 KB)。// Radio value setting component, such as resolution setting
│ │ ├── setting_item.dart (<1 KB)。 // Settings panel single setting item
│ │ └── video_setting.dart (4 KB) // Video setting component
│ ├── top_view
│ │ ├── view.dart (2 KB) // Function button of top bar
│ │ └── widgets
│ │ ├── meeting_title.dart (1 KB) // Top meeting information display component
│ │ ├── room_info_sheet.dart (2 KB)。 // Detailed meeting information pop-up window at the bottom
│ │ └── top_button_item.dart (1 KB) // Top function single universal item button
│ ├── transfer_host
│ │ ├── view.dart (1 KB) // Transfer homeowners panel
│ │ └── widgets
│ │ ├── title.dart (<1 KB) // Title bar of transfer homeowners panel
│ │ ├── user_item.dart (1 KB) // Transferable homeowner user list single item
│ │ └── user_table.dart (1 KB) // Transferable homeowner user list
│ ├── user_list
│ │ ├── view.dart (3 KB) // User list Page
│ │ └── widgets
│ │ ├── button_item.dart (1 KB) // Button item at the bottom of the user list
│ │ ├── user_control.dart (6 KB) // The member management page that pops up after clicking on a single member
│ │ ├── user_control_item.dart (1 KB) // The item of member management page
│ │ ├── user_item.dart (3 KB) // User list item
│ │ └── user_table.dart (3 KB) // User list
│ ├── video_seat
│ │ ├── video_item // Single video frame item folder
│ │ │ ├── view.dart (3 KB) // Single video frame item
│ │ │ └── widgets
│ │ │ ├── video_user_info.dart (1 KB) // User information on the video screen item
│ │ │ └── volume_bar.dart (<1 KB) // Microphone icon in user information
│ │ ├── video_layout
│ │ │ ├── view.dart (2 KB) // The layout of video items in a single-page video screen
│ │ │ └── widgets
│ │ │ └── with_draggable_window_widget.dart (1 KB)// Two-person video screen size window layout method
│ │ └── video_page_turning
│ │ ├── view.dart (2 KB) // Video screen flip management page
│ │ └── widgets
│ │ └── page_indicator.dart (1 KB) // Page indicator dot

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 see TUIRoomEngine API interface address.