Home > Software design >  Flutter SingleChildScrollView section doesn't scroll
Flutter SingleChildScrollView section doesn't scroll

Time:03-10

I have this simple scaffold where I have 3 containers and I want the first container to remain fixed and scroll happens only for the second container and beyond. But for some reason, using the code below, I am not able to scroll at all and I get overflow by xxx pixels on the bottom error.

    Scaffold(
      body: Container(
        margin: EdgeInsets.only(
          top: MediaQuery.of(context).padding.top,
        ),
        child: Column(
          children: [
            Container(
              height: 300,
              width: 400,
              color: Colors.black,
            ),
            SingleChildScrollView(
              child: Column(
                children: [
                  Container(
                    width: ScreenUtil().setWidth(578),
                    height: ScreenUtil().setWidth(578),
                    color: Colors.red,
                    margin: EdgeInsets.all(30),
                  ),
                  Container(
                    width: ScreenUtil().setWidth(578),
                    height: ScreenUtil().setWidth(578),
                    color: Colors.red,
                  ),
                ],
              ),
            ),
          ],
        ),
      ),
    );

Wrapping the first column with SingleChildScrollView works fine (below code), but that allows scrolling for the whole page which is not what I want. What am I missing?

   Scaffold(
      body: Container(
        margin: EdgeInsets.only(
          top: MediaQuery.of(context).padding.top,
        ),
        child: SingleChildScrollView(
          child: Column(
            children: [
              Container(
                height: 300,
                width: 400,
                color: Colors.black,
              ),
              Container(
                width: ScreenUtil().setWidth(578),
                height: ScreenUtil().setWidth(578),
                color: Colors.red,
                margin: EdgeInsets.all(30),
              ),
              Container(
                width: ScreenUtil().setWidth(578),
                height: ScreenUtil().setWidth(578),
                color: Colors.red,
              ),
            ],
          ),
        ),
      ),
    );

CodePudding user response:

Wrap SingleChildScrollView in a container and set its size

  • Related