title: Not able to make Scrollable
body: <p>I am new in flutter and I try to make scrollable UI.</p>
  <p>I try to add Expanded widgets, ListViews Widgets , SingleChildScrollView widgets but didn't get the expected result.</p>
  <p>Also, I try to wrap the stack inside Container and then inside SingleChildScrollView. But it throws error.
  <a href="https://i.stack.imgur.com/06imP.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/06imP.png" alt="enter image description here" /></a></p>
  <p>I tried many aspects to make my homepage scrollable. But, I got errors (Mentioned below)</p>
  <pre><code>I/flutter ( 6259): Another exception was thrown: RenderBox was not laid out: RenderSemanticsGestureHandler#e1279 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
  </code></pre>
  <p>I/flutter ( 6259): Another exception was thrown: RenderBox was not laid out: _RenderColoredBox#89cc6 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
  I/flutter ( 6259): Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#9505f NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
  I/flutter ( 6259): Another exception was thrown: 'package:flutter/src/rendering/sliver_multi_box_adaptor.dart': Failed assertion: line 549 pos 12: 'child.hasSize': is not true.</p>
  <pre class="lang-dart prettyprint-override"><code>    GestureDetector(
        onTap: () {
          FocusScope.of(context).unfocus();
          new TextEditingController().clear();
        },
        child: Stack(
          children: &lt;Widget&gt;[
            Container(
              height: 200,
              child: TopBar(),
            ),
            Container(
              margin: EdgeInsets.only(top: 55),
              child: Text(
                &quot;PriceTrackers&quot;,
                style: TextStyle(
                  color: Colors.white,
                  fontSize: 50.0,
                  fontWeight: FontWeight.w900,
                ),
              ),
            ),
            Container(
                margin: EdgeInsets.fromLTRB(265, 0, 0, 0),
                child: Text(
                  &quot;.&quot;,
                  style: TextStyle(
                    fontSize: 120,
                    color: Colors.white,
                  ),
                )),
            ListView(
              padding: EdgeInsets.fromLTRB(10, 10, 10, 0),
              children: &lt;Widget&gt;[
                Container(
                  margin: EdgeInsets.only(top: 200),
                  child: Form(
                      key: _formKey,
                      child: Column(children: &lt;Widget&gt;[
                        Container(
                          child: Row(
                            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                            children: &lt;Widget&gt;[
                              Icon(Icons.store),
                              Text(
                                &quot;Supported Store&quot;,
                                style: TextStyle(
                                  fontSize: 20,
                                  color: Colors.green,
                                ),
                              ),
                              Image.asset(
                                &quot;Assets/img/amazon.png&quot;,
                                width: 20,
                              ),
                              Image.asset(
                                &quot;Assets/img/flipkart.png&quot;,
                                width: 20,
                              ),
                              Image.asset(
                                &quot;Assets/img/ajio.png&quot;,
                                width: 20,
                              ),
                              Image.asset(
                                &quot;Assets/img/snapdeal.png&quot;,
                                width: 20,
                              ),
                              Image.asset(
                                &quot;Assets/img/ss.jpg&quot;,
                                width: 20,
                              ),
                            ],
                          ),
                          margin: EdgeInsets.fromLTRB(40, 10, 40, 10),
                          decoration: BoxDecoration(
                            borderRadius: BorderRadius.circular(10),
                            color: Colors.white,
                            // boxShadow: [
                            //   BoxShadow(color: Colors.white, spreadRadius: 3),
                            // ],
                          ),
                        ),
  
                        // Add TextFormFields and RaisedButton here.
                        TextFormField(
                          controller: _controller,
                          enableInteractiveSelection: true,
                          textInputAction: TextInputAction.done,
  
                          decoration: InputDecoration(
                            border: OutlineInputBorder(
                              borderSide: BorderSide(color: Colors.green),
                              borderRadius: BorderRadius.circular(20),
                            ),
                            enabledBorder: OutlineInputBorder(
                              borderSide: BorderSide(color: Colors.black),
                              borderRadius: BorderRadius.circular(20),
                            ),
                            focusedBorder: OutlineInputBorder(
                              borderSide: BorderSide(color: Colors.blue),
                              borderRadius: BorderRadius.circular(20),
                            ),
                            errorBorder: OutlineInputBorder(
                              borderSide: BorderSide(
                                color: Colors.red,
                              ),
                              borderRadius: BorderRadius.circular(20),
                            ),
                            hintText: &quot;Enter Product URL&quot;,
                            suffixIcon: Icon(Icons.search),
                          ),
                          // onFieldSubmitted: (term){
                          //  FocusScope.of(context).unfocus();
                          // _controller.clear();
  
                          // },
  
                          showCursor: true,
                          autofocus: false,
  
                          // The validator receives the text that the user has entered.
                          validator: (value) {
                            if (value.isEmpty) {
                              return 'Please enter some text';
                            } else if (!value.contains(&quot;amazon&quot;) ||
                                !value.contains(&quot;flipkart&quot;) ||
                                !value.contains(&quot;myntra&quot;)) {
                              return &quot;Please Enter Supported Store URL&quot;;
                            }
  
                            return null;
                          },
                        ),
  
                        RaisedButton.icon(
                          icon: Icon(
                            Icons.search,
                            color: Colors.white,
                          ),
                          color: Colors.black,
                          padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
                          elevation: 20.0,
                          onPressed: () async {
                            // Validate returns true if the form is valid, otherwise false.
                            if (_formKey.currentState.validate()) {
                              setState(() {
                                createAlbum(_controller.text).then((value) =&gt; {
                                      Navigator.push(
                                          context,
                                          EnterExitRoute(
                                              exitPage: HomePage(),
                                              enterPage: LineChartSample2(
                                                  getData: value)))
                                    });
                              });
  
                              Scaffold.of(context).showSnackBar(SnackBar(
                                content: Text(
                                  'Processing Data',
                                  style: TextStyle(color: Colors.white),
                                ),
                                backgroundColor: Colors.green,
                              ));
  
                              // If the form is valid, display a snackbar. In the real world,
                              // you'd often call a server or save the information in a database.
  
                              // Navigator.push(
                              //           context,
                              //           MaterialPageRoute(builder: (context) =&gt; LineChartSample2()),
                              //         );
                            }
                          },
                          label: Text(
                            'View Price Graph',
                            style: TextStyle(
                              color: Colors.white,
                            ),
                          ),
                        ),
  
                        Container(
                          margin: EdgeInsets.only(top: 20),
                          width: 380,
                          height: 200,
                          decoration: BoxDecoration(
                            borderRadius: BorderRadius.circular(20),
                            color: Colors.white,
                            boxShadow: [
                              BoxShadow(
                                color: Colors.blue[200],
                                blurRadius: 25.0, // soften the shadow
                                spreadRadius: 5.0, //extend the shadow
                                offset: Offset(
                                  15.0, // Move to right 10  horizontally
                                  15.0, // Move to bottom 10 Vertically
                                ),
                              )
                            ],
                          ),
                          child: Row(
                            children: &lt;Widget&gt;[
                              Container(
                                width: 130,
                                height: 130,
                                padding: EdgeInsets.fromLTRB(5, 10, 5, 10),
                                child: FadeInImage(
                                  fit: BoxFit.scaleDown,
                                  // here `bytes` is a Uint8List containing the bytes for the in-memory image
                                  placeholder: AssetImage(&quot;Assets/img/bag.png&quot;),
                                  image: NetworkImage(
                                      'https://images-na.ssl-images-amazon.com/images/I/81j14WXbc%2BL._UL1500_.jpg'),
                                ),
                              ),
                              Expanded(
                                  child: Container(
                                padding: EdgeInsets.fromLTRB(0, 20, 10, 0),
                                child: Column(
                                  children: &lt;Widget&gt;[
                                    Text(
                                      &quot;Redux Analogue Blue Dial Men’s &amp;S... &quot;,
                                      maxLines: 2,
                                      softWrap: true,
                                      style: TextStyle(
                                          fontSize: 20,
                                          fontWeight: FontWeight.w400,
                                          color: Colors.black),
                                    ),
                                    Container(
                                        margin: EdgeInsets.fromLTRB(0, 10, 0, 0),
                                        child: Column(
                                          children: &lt;Widget&gt;[
                                            OutlineButton.icon(
                                                onPressed: () =&gt; {},
                                                icon: Icon(Icons.shopping_basket),
                                                label: Text(&quot;But Now @28939&quot;)),
                                            Row(
                                              mainAxisAlignment:
                                                  MainAxisAlignment.spaceEvenly,
                                              children: &lt;Widget&gt;[
                                                Text(
                                                  &quot;Avg Price : 7,98,374&quot;,
                                                  style: TextStyle(
                                                    fontSize: 10,
                                                    fontWeight: FontWeight.w900,
                                                  ),
                                                ),
                                                Text(
                                                  &quot;Avg Price :34,43,343&quot;,
                                                  style: TextStyle(
                                                    fontSize: 10,
                                                    fontWeight: FontWeight.w900,
                                                  ),
                                                )
                                              ],
                                            ),
                                            Container(
                                              margin: EdgeInsets.all(5),
                                            ),
                                            FlatButton.icon(
                                              icon: Icon(Icons.show_chart),
                                              color: Colors.black,
                                              textColor: Colors.white,
                                              disabledColor: Colors.grey,
                                              disabledTextColor: Colors.black,
                                              padding: EdgeInsets.fromLTRB(
                                                  20, 5, 20, 5),
                                              splashColor: Colors.blueAccent,
                                              onPressed: () {
                                                /*...*/
                                              },
                                              label: Text(
                                                &quot;Show Price Graph&quot;,
                                                style: TextStyle(fontSize: 15.0),
                                              ),
                                            )
                                          ],
                                        )),
                                  ],
                                ),
                              ))
                            ],
                          ),
                        ),
                      ])),
                ),
              ],
            ),
            Container(
                margin: EdgeInsets.only(top: 650),
                child: GridView.count(
                  primary: false,
                  padding: const EdgeInsets.all(20),
                  crossAxisSpacing: 10,
                  mainAxisSpacing: 10,
                  crossAxisCount: 2,
                  children: &lt;Widget&gt;[
                    Container(
                      padding: const EdgeInsets.all(8),
                      child: const Text(&quot;He'd have you all unravel at the&quot;),
                      color: Colors.teal[100],
                    ),
                    Container(
                      padding: const EdgeInsets.all(8),
                      child: const Text('Heed not the rabble'),
                      color: Colors.teal[200],
                    ),
                    Container(
                      padding: const EdgeInsets.all(8),
                      child: const Text('Sound of screams but the'),
                      color: Colors.teal[300],
                    ),
                    Container(
                      padding: const EdgeInsets.all(8),
                      child: const Text('Who scream'),
                      color: Colors.teal[400],
                    ),
                    Container(
                      padding: const EdgeInsets.all(8),
                      child: const Text('Revolution is coming...'),
                      color: Colors.teal[500],
                    ),
                    Container(
                      padding: const EdgeInsets.all(8),
                      child: const Text('Revolution, they...'),
                      color: Colors.teal[600],
                    ),
                  ],
                )),
          ],
        ));
  </code></pre>