title: How do I put a flutter PageView inside a Column or Row? I get the error below when I do
body: <p>This is the Error:</p>
  <pre><code>I/flutter (  736): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY  ╞═════════════════════════════════════════════════════════
  I/flutter (  736): The following assertion was thrown during performResize():
  I/flutter (  736): Horizontal viewport was given unbounded height.
  I/flutter (  736): Viewports expand in the cross axis to fill their container and constrain their children to match
  I/flutter (  736): their extent in the cross axis. In this case, a horizontal viewport was given an unlimited amount of
  I/flutter (  736): vertical space in which to expand.
  </code></pre>
  <p>This is The Code:</p>
  <pre><code>import 'package:flutter/material.dart';
  
  void main() =&gt; runApp(new MyApp());
  
  class MyApp extends StatelessWidget {
    // This widget is the root of your application.
  
    @override
    Widget build(BuildContext context) {
      return new MaterialApp(
        title: 'PayMart',
        theme: new ThemeData(
          // This is the theme of your application.
          //
          // Try running your application with &quot;flutter run&quot;. You'll see the
          // application has a blue toolbar. Then, without quitting the app, try
          // changing the primarySwatch below to Colors.green and then invoke
          // &quot;hot reload&quot; (press &quot;r&quot; in the console where you ran &quot;flutter run&quot;,
          // or press Run &gt; Flutter Hot Reload in IntelliJ). Notice that the
          // counter didn't reset back to zero; the application is not restarted.
          primaryColor: Colors.blue,
          primaryColorDark:Colors.blueAccent ,
          accentColor: Colors.blue,
        ),
        home: new MyTabs(),
      );
    }
  }
  
  class MyTabs extends StatefulWidget{
  
    @override
    MyTabsState createState() =&gt; new MyTabsState();
  }
  
  class MyTabsState extends State&lt;MyTabs&gt; with SingleTickerProviderStateMixin {
    int _index;
    PageController _pageController;
  
    @override
    void initState() {
      // TODO: implement initState
      super.initState();
      _index = 0;
      _pageController = new PageController(initialPage: 0,viewportFraction: 1.0);
    }
  
    @override
    Widget build(BuildContext context) {
      // TODO: implement build
      return new Scaffold(
        appBar: new AppBar(
          title: new Text(&quot;PayMart&quot;),
          actions: &lt;Widget&gt;[
            new FlatButton(onPressed: null, child: new Text(&quot;R247.50&quot;,style: new TextStyle(color: Colors.white,decorationStyle: TextDecorationStyle.wavy),)),
            //new IconButton(icon: new Icon(null, color: Colors.white), onPressed: null),
           new IconButton(icon: new Icon(Icons.add_circle_outline,color: Colors.white), onPressed: null)
          ],
          centerTitle: false,
        ),
  
  
        drawer: new Drawer(
          // Add a ListView to the drawer. This ensures the user can scroll
          // through the options in the Drawer if there isn't enough vertical
          // space to fit everything.
          child: new ListView(
            // Important: Remove any padding from the ListView.
            padding: EdgeInsets.zero,
            children: &lt;Widget&gt;[
              new DrawerHeader(
                child: new Text('Drawer Header'),
                decoration: new BoxDecoration(
                  color: Colors.blue,
                ),
              ),
              new ListTile(
                title: new Text('Item 1'),
                leading: new Icon(Icons.language),
                onTap: () {
                  // Update the state of the app
                  // ...
                },
              ),
              new ListTile(
                title: new Text('Item 2'),
                onTap: () {
                  // Update the state of the app
                  // ...
                },
              ),
            ],
          ),
        ),
  
  
        body: new Column(children: &lt;Widget&gt;[
       new PageView(children: &lt;Widget&gt;[
         new Container(child:
            new GridView.count(
                  children: &lt;Widget&gt;[
                    new FlatButton(onPressed: null,
                        child: new Column( children: &lt;Widget&gt;[
                          new Icon(Icons.person,color: Colors.deepOrangeAccent,),
                          new Text(&quot;Hello&quot;),
                        ],
                        )
                    ),
                    new FlatButton(onPressed: null,
                        child: new Column( children: &lt;Widget&gt;[
                          new Icon(Icons.person,color: Colors.tealAccent,),
                          new Text(&quot;Hello&quot;),
                        ],
                        )
                    ),
                    new FlatButton(onPressed: null,
                        child: new Column( children: &lt;Widget&gt;[
                          new Icon(Icons.person,color: Colors.deepOrange,),
                          new Text(&quot;Hello&quot;),
                        ],
                        )
                    ),
                    new FlatButton(onPressed: null,
                        child: new Column( children: &lt;Widget&gt;[
                          new Icon(Icons.person),
                          new Text(&quot;Hello&quot;),
                        ],
                        )
                    ),
                    new FlatButton(onPressed: null,
                        child: new Column( children: &lt;Widget&gt;[
                          new Icon(Icons.person),
                          new Text(&quot;Hello&quot;),
                        ],
                        )
                    ),
                    new FlatButton(onPressed: null,
                        child: new Column( children: &lt;Widget&gt;[
                          new Icon(Icons.person),
                          new Text(&quot;Hello&quot;),
                        ],
                        )
                    ),
                    new FlatButton(onPressed: null,
                        child: new Column( children: &lt;Widget&gt;[
                          new Icon(Icons.person),
                          new Text(&quot;Hello&quot;),
                        ],
                        )
                    ),
                    new FlatButton(onPressed: null,
                        child: new Column( children: &lt;Widget&gt;[
                          new Icon(Icons.person),
                          new Text(&quot;Hello&quot;),
                        ],
                        )
                    ),
                  ],
                  crossAxisCount: 4,
                  childAspectRatio: 1.5,
                  padding: const EdgeInsets.all(4.0),
                  mainAxisSpacing: 0.0,
                  crossAxisSpacing: 4.0,
                  shrinkWrap: true,
                )
         ),
          new Container(color: Colors.brown,),
          new Container(color: Colors.amber,),
          new Container(color: Colors.deepOrangeAccent,),
          new Container(color: Colors.purpleAccent,)
        ],
          controller: _pageController,
        ),
      ]),
  
        bottomNavigationBar: new Stack(
          children: &lt;Widget&gt;[
            new Positioned(child: new BottomNavigationBar(
            fixedColor: Colors.blueAccent,
            type: BottomNavigationBarType.fixed,
            currentIndex: _index,
            onTap: (int _index) {
            setState(() {
            this._index = _index;
            _pageController.animateToPage(_index,
                duration: new Duration(milliseconds: 300),
                curve: Curves.easeIn);
            });
            },
            items: &lt;BottomNavigationBarItem&gt;[
            new BottomNavigationBarItem(icon: new Icon(Icons.home), title: new Text(&quot;Home&quot;)),
            new BottomNavigationBarItem(icon: new Icon(Icons.access_alarm), title: new Text(&quot;Transactions&quot;)),
      new BottomNavigationBarItem(icon: new Icon(Icons.play_arrow), title: new Text(&quot;Pay&quot;)),
      new BottomNavigationBarItem(icon: new Icon(Icons.language), title: new Text(&quot;Requests&quot;)),
      new BottomNavigationBarItem(icon: new Icon(Icons.account_balance_wallet), title: new Text(&quot;Wallet&quot;))
      ],
      ),),
            new Positioned.directional(
              child: new FloatingActionButton(
                  onPressed: null,
                child:new Icon(Icons.filter_center_focus,size: 24.0,),
                mini: false,
              ),
              textDirection: TextDirection.ltr,
              bottom: 0.0,
            ),
            new Positioned.directional(
                textDirection: TextDirection.ltr,
                child: new Text(&quot;scan&quot;,style: new TextStyle(color: Colors.white,fontSize: 12.0),),
              bottom: 6.0,
            )
        ],
        alignment: Alignment.bottomCenter,
        )
  
      );
    }
  }
  </code></pre>