Is it correct to have nested Scaffold in Flutter?

1,874

Go here: https://api.flutter.dev/flutter/material/Scaffold-class.html

There is a section named Troubleshooting and inside it, you will find this:

Nested Scaffolds

The Scaffold was designed to be the single top level container for a MaterialApp and it's typically not necessary to nest scaffolds. For example in a tabbed UI, where the bottomNavigationBar is a TabBar and the body is a TabBarView, you might be tempted to make each tab bar view a scaffold with a differently titled AppBar. It would be better to add a listener to the TabController that updates the AppBar.

Share:
1,874
Galactose
Author by

Galactose

Updated on December 02, 2022

Comments

  • Galactose
    Galactose over 1 year

    I have a PageView in my app homepage and I want :

    1. The AppBar changes according to the page
    2. The BottomAppBar is fixed

    The 2 solutions I imagined are :

    1. The hard one : have one Scaffold with appBar, body and bottomNavigationBar ; use the PageView's PageController to animate the AppBar content...
    2. Have 2 nested Scaffold : the main one with body and bottomNavigationBar, and a second one in each PageView's page, with the AppBar...

    So I was wondering, it works but is it "correct" syntactically to have nested Scaffold ?

    Thanks a lot !

  • Galactose
    Galactose over 3 years
    Thanks for your help, I did not see these guidelines. I choosed to keep one single Scaffold with body and bottom, and the body defines the AppBar in a Column. This option is much easier than animating the AppBar to follow the PageController...