logo
On this page

Customize the text message UI

To customize the message list item, you can set up the ZegoUIKitPrebuiltLiveAudioRoomConfig.inRoomMessage.itemBuilder. The itemBuilter method returns a Widget, and when the list is drawn, it calls back the itemBuilder function you set to get the Widget for rendering.

You can get and read the message from the itemBuilder parameter. The message is of type ZegoInRoomMessage and has the following structure:

Untitled
class ZegoInRoomMessage {
  int messageID;
  ZegoUIKitUser user; // message sender.
  String message; // message content.
  int timestamp; // The timestamp at which the message was sent
  var state =
      ValueNotifier<ZegoInRoomMessageState>(ZegoInRoomMessageState.success); // message sending state.
}
1
Copied!

Besides, you can decide the effect when the message sent failed or successfully, and also set up the logic for sending the message again when the message failed to be sent.

Here the reference code shows how to customize a message view:

Untitled
class LivePage extends StatelessWidget {
  const LivePage({Key? key, required this.roomID, this.isHost = false})
      : super(key: key);

  final String roomID;
  final bool isHost;

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: ZegoUIKitPrebuiltLiveAudioRoom(
        appID: YourSecret.appID,
        appSign: YourSecret.appSign,
        userID: userID,
        userName: 'user_$userID',
        roomID: roomID,

        // Modify your custom configurations here.
        config: isHost
            ? ZegoUIKitPrebuiltLiveAudioRoomConfig.host()
            : ZegoUIKitPrebuiltLiveAudioRoomConfig.audience()
          ..inRoomMessage = ZegoLiveAudioRoomInRoomMessageConfig(
            itemBuilder: (
              BuildContext context,
              ZegoInRoomMessage message,
              Map<String, dynamic> extraInfo,
            ) {
              /// how to use itemBuilder to custom message view
              return Text('${message.user.name} : ${message.message}');
            },
          ),
      ),
    );
  }
}
1
Copied!

Previous

Customize the bottom menu bar buttons

Next

Minimize audio room window

On this page

Back to top