Flutter 如果使用背景,是否在不同页面上使用浮动操作按钮?

Flutter 如果使用背景,是否在不同页面上使用浮动操作按钮?,flutter,Flutter,我正在学习flatter,并使用他们提供的作为试用其他小部件基础的Shieline演示应用程序()。 我用神龛菜单导航,作为抽屉的替代品 我有几个不同的路由/页面,我希望每个路由/页面都有自己的FloatingActionButton,在每个路由/页面上执行不同的功能,其中一些路由/页面上没有按钮,而另一些路由/页面上可能有一个BottomAppBar 为了使用FloatingActionButton,需要将其作为参数传递给Scaffold,但是神龛背景只有一个Scaffold,它还保存为其选择

我正在学习flatter,并使用他们提供的作为试用其他小部件基础的Shieline演示应用程序()。 我用神龛菜单导航,作为抽屉的替代品

我有几个不同的路由/页面,我希望每个路由/页面都有自己的FloatingActionButton,在每个路由/页面上执行不同的功能,其中一些路由/页面上没有按钮,而另一些路由/页面上可能有一个BottomAppBar

为了使用FloatingActionButton,需要将其作为参数传递给Scaffold,但是神龛背景只有一个Scaffold,它还保存为其选择菜单选项的状态

如果每个页面都有自己的脚手架,那么这将很容易,但我会失去Shieline应用程序的酷菜单

我如何使用多个不同页面的神龛风格菜单,每个页面都有自己独特的FloatingActionButton或BottomAppBar


我应该把菜单状态移到别处吗?我是否应该以某种方式将一个按钮动作从子窗口小部件传递回背景的脚手架(如果是,如何传递)?我应该放弃并使用抽屉吗?

在脚手架中不使用FloactingActionButton属性,您可以将按钮放置在页面的右下角,并在各个页面中使用“定位”小部件

例如:

         body: Stack( // must add Stack widget
               chidren: <Widget> [
               .
               .
               . // your other widgets on this page
               .
                Positioned(
                          right: 10,
                          bottom: 10,
                          child: FloatingActionButton(
                            onPressed: () => yourFunction,
                            ),
                            child: Icon(Icons.add),
                            backgroundColor: Colors.red,
                          ),
                        ),
            ],
        );
body:Stack(//必须添加Stack小部件
儿童:[
.
.
.//此页面上的其他小部件
.
定位(
右:10,,
底部:10,
子:浮动操作按钮(
按下:()=>您的函数,
),
子:图标(Icons.add),
背景颜色:Colors.red,
),
),
],
);

希望这有帮助:)

整洁,我不知道你可以像那样组合定位和堆叠。我应该阅读颤振文档的哪一部分才能更好地理解这一点?如果我想为另一个视图添加一个BottomAppBar,我最好怎么做?我需要重构还是最好只使用BottomAppBar的内部框架?如果将“底部”、“左侧”和“右侧”设置为0,看起来也可以在位于堆栈中的内部框架中使用BottomAppBar。这样做让我感觉像是在和弗利特搏斗。有没有一种“最佳实践”方法可以做到这一点,而不只是切换到抽屉,在每一页上都有单独的支架?我以前从未使用过BottomAppBar,因此我无法评论将其与“定位”一起使用是否是一种糟糕的编码实践。我并没有阅读解决方案的文档,只是通过将事物组合在一起来尝试错误。就像玩乐高积木一样:)谢谢你的帮助!我得自己弄清楚。