title: This about a chat application made using firestore and I can't scroll ths widget
body: <p>This about  a chat application made using firestore and I cant scroll this widget , when the screen is filled it just stop showing the new items, like its going user the screen,it is  basically the chat feature of the app , a chat should scroll,there aren't any syntax errors, I ma new to flutter, please help</p>
  <pre><code>    class ChatScreen extends StatefulWidget {
        String chatRoomId;
        @override
        ChatScreen(this.chatRoomId);
  
        _ChatScreenState createState() =&gt; _ChatScreenState();
      }
  
      class _ChatScreenState extends State&lt;ChatScreen&gt; {
        DatabaseMethods databaseMethods = new DatabaseMethods();
        TextEditingController messageController = new 
      TextEditingController();
  
        Stream chatmessageStream;
  
        Widget chatMessageList() {
          return StreamBuilder(
              stream: chatmessageStream,
              builder: (context, snapshot) {
            return snapshot.hasData
                ? ListView.builder(
                    scrollDirection: Axis.vertical,
                    itemCount:
                        snapshot.hasData ? snapshot.data.documents.length : 1,
                    itemBuilder: (context, index) {
                      return MessageTile(
                          snapshot.data.documents[index].get(&quot;message&quot;),
                          snapshot.data.documents[index].get(&quot;sendBy&quot;) ==
                              Constants.myName);
                    })
                : Container(width: 100, height: 100, child: Text(''));
          });
    }
  
        sendMessage() {
      if (messageController.text.isNotEmpty) {
        Map&lt;String, dynamic&gt; messageMap = {
          &quot;message&quot;: messageController.text,
          &quot;sendBy&quot;: Constants.myName,
          &quot;time&quot;: DateTime.now().millisecondsSinceEpoch,
        };
        databaseMethods.addConversationMessages(widget.chatRoomId, messageMap);
        messageController.text = &quot;&quot;;
      }
    }
  
  
       void initState() {
    
    
   databaseMethods.getConversationMessages(widget.chatRoomId)
  .then((value) {
        setState(() {
          chatmessageStream = value;
        });
      });
      super.initState();
    }
  
    @override
    Widget build(BuildContext context) {
      return Scaffold(
        appBar: AppBar(
          title: User(widget.chatRoomId
              .toString()
              .replaceAll(&quot;_&quot;, &quot;&quot;)
              .replaceAll(Constants.myName, &quot;&quot;)),
        ),
        body: Container(
          child: Stack(
            children: [
              chatMessageList(),
              Container(
                alignment: Alignment.bottomCenter,
                decoration:
                    BoxDecoration(borderRadius: BorderRadius.circular(30)),
                child: Container(
                  color: Color(0xff1F1F1F),
                  padding: EdgeInsets.all(3),
                  child: Row(
                    children: [
                      Expanded(
                        child: Container(
                          padding: EdgeInsets.symmetric(horizontal: 22),
                          child: TextField(
                            cursorColor: Colors.redAccent,
                            style: TextStyle(color: Colors.white, fontSize: 18),
                            controller: messageController,
                            decoration: InputDecoration(
                                focusedBorder: OutlineInputBorder(
                                  borderSide: BorderSide.none,
                                  //borderRadius: BorderRadius.circular(100),
                                ),
                                hintText: &quot;Type a message &quot;,
                                // filled: true,
                                fillColor: Colors.grey[800],
                                hintStyle: TextStyle(color: Colors.white54),
                                border: InputBorder.none),
                          ),
                        ),
                      ),
                      GestureDetector(
                        onTap: () {
                          sendMessage();
                        },
                        child: Container(
                          width: 50,
                          height: 50,
                          decoration: BoxDecoration(
                              borderRadius: BorderRadius.circular(40),
                              gradient: LinearGradient(
                                  colors: [Colors.red[400], Colors.red[400]])),
                          padding: EdgeInsets.all(12),
                          child: Image.asset(
                            &quot;assets/images/send.jpeg&quot;,
                          ),
                        ),
                      )
                    ],
                  ),
                ),
              ),
            ],
          ),
        ),
      );
    }
  }
  
  class User extends StatelessWidget {
    final String userName;
    User(this.userName);
    @override
    Widget build(BuildContext context) {
      return Container(
        padding: EdgeInsets.symmetric(horizontal: 24, vertical: 16),
        child: Row(
          children: [
            Text(
              userName,
              style: textFieldTextStyle(),
            )
          ],
        ),
      );
    }
  }
  
  class MessageTile extends StatelessWidget {
    final String message;
    final bool isSendByMe;
    MessageTile(this.message, this.isSendByMe);
    @override
    Widget build(BuildContext context) {
      return Container(
        padding:
            EdgeInsets.only(left: isSendByMe ? 0 : 4, right: isSendByMe ? 14 : 0),
        margin: EdgeInsets.symmetric(vertical: 8),
        width: MediaQuery.of(context).size.width,
        alignment: isSendByMe ? Alignment.centerRight : 
      Alignment.centerLeft,
        child: Container(
          padding: EdgeInsets.symmetric(horizontal: 24, vertical: 16),
          decoration: BoxDecoration(
              borderRadius: isSendByMe
                  ? BorderRadius.only(
                      topLeft: Radius.circular(23),
                      topRight: Radius.circular(23),
                      bottomLeft: Radius.circular(23),
                    )
                  : BorderRadius.only(
                      topLeft: Radius.circular(23),
                      topRight: Radius.circular(23),
                      bottomRight: Radius.circular(23),
                    ),
              color: isSendByMe ? Colors.redAccent : Colors.grey[850]),
          child: Text(
            message,
            style: textFieldTextStyle(),
          ),
        ),
      );
    }
  }
  </code></pre>
  <p>please through the code.</p>