--- id: adding_chat_to_video_livestreams sidebar_position: 7 title: Adding Chat To Video Livestreams --- Adding Chat To Video Livestreams ### Introduction There are two common scenarios in live-streaming applications. Let's explore creating both types: ### Split-screen In the split-screen implementation, we have a visual split between the video and the message list. ![](../assets/live_stream_1.jpg) ``` Scaffold( body: Column( children: [ Expanded( child: // Your video implementation here, ), Expanded( child: Column( children: [ Expanded( child: MessageListView(), ), MessageInput(), ], ), ), ], ), ) ``` ### Overlapping chat with a transparency gradient The second type looks like this: ![](../assets/live_stream_2.jpg) We can use a `Stack` for achieving this: ``` Scaffold( body: Stack( children: [ // Add your video implementation here ShaderMask( shaderCallback: (rect) { return LinearGradient( begin: Alignment.bottomCenter, end: Alignment.topCenter, colors: [Colors.black, Colors.transparent], stops: [0.4, 0.65] ).createShader(Rect.fromLTRB(0, 0, rect.width, rect.height)); }, blendMode: BlendMode.dstIn, child: Column( children: [ Expanded( child: MessageListView(), ), MessageInput(), ], ), ), ], ), ) ```