title: ListView Builder vs SingleChildScrollView + Row combo
body: <p>I want to make a responsive UI in my app. In my home page, I have <code>ScrollView-&gt;Column-&gt;childrens</code> structure.</p>
  <p>When I want to use <code>horizontal Listview.builder</code> in my <code>column</code>, it throws me error because height is <code>unbounded</code>. I fix it with wrapping my <code>listview builder</code> with container and I give this container a height value. But I dont want to give this height hardcoded,</p>
  <p>I want to make my <code>container</code> height to its own child's height. I searched it and found a solution like <code>ScrollView-&gt;Row-&gt;list.generate</code> instead of <code>ListView.Builder</code>. But is it okay to make it like this? Does it cause performance problems or is it a bad practice?</p>
  <p>My list isn't big. It has max 20 elements</p>
  <p>For example this throwing error:</p>
  <pre><code>@override   Widget build(BuildContext context) {
      return Container(
        color: Colors.red,
        child: SingleChildScrollView(
            child: Column(
          children: [
            ListView.builder(
              itemCount: 5,
              physics: NeverScrollableScrollPhysics(),
              scrollDirection: Axis.horizontal,
              shrinkWrap: true,
              itemBuilder: (context, index) {
                return Container(
                  width: 200,
                  height: 200,
                );
              },
            )
          ],
        )),
      );   }
  </code></pre>
  <p>But this does not throw an error</p>
  <pre><code>@override
    Widget build(BuildContext context) {
      return SingleChildScrollView(
          child: Column(
        children: [
          SingleChildScrollView(
            scrollDirection: Axis.horizontal,
            child: Row(
              children: List.generate(
                  5,
                  (index) =&gt; Container(
                        width: 200,
                        height: 200,
                        color: Colors.red,
                      )),
            ),
          ),
        ],
      ));
    }
  </code></pre>