flutter - 如果使用背景,在不同页面上使用 FloatingActionButton?
问题描述
我正在学习 Flutter 并使用他们提供的 Shrine 演示应用程序 ( https://codelabs.developers.google.com/codelabs/mdc-101-flutter/ ) 作为尝试其他小部件的基础。我正在使用 Shrine 菜单作为抽屉的替代品进行导航。
我有几个不同的路线/页面,我希望每个都有自己的 FloatingActionButton,在每个页面上执行不同的功能,其中一些没有按钮,而其他一些可能有一个 BottomAppBar。
为了使用 FloatingActionButton,它需要作为参数传递给 Scaffold,但 Shrine 背景只有一个 Scaffold,它还保存着选择菜单选项的状态。
如果每个页面都有自己的 Scaffold,那么这将很容易,但是我会失去 Shrine 应用程序所拥有的酷菜单。
我如何使用带有多个不同页面的 Shrine 样式菜单,每个页面都有自己独特的 FloatingActionButton 或 BottomAppBar?
我应该将菜单状态移动到其他地方吗?我是否应该以某种方式将子小部件中的按钮操作传递回背景的脚手架(如果是,如何)?我应该放弃并使用抽屉吗?
解决方案
除了在 Scaffold 中使用 FloactingActionButton 属性,您还可以将按钮放置在页面的右下角,并在各个页面中使用“Positioned”小部件。
例如:
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,
),
),
],
);
希望这可以帮助 :)
推荐阅读
- flutter - 保持firesotrore集合离线可用并在前台同步
- apache-kafka - jmx指标与consumer-groups.sh脚本的kafka消费者滞后
- tfs - 如何修复“另一个进程正在使用 storage.ide-shm”,这会阻止我提交
- python - __name__== '__main__' 下的导入函数无法识别
- computational-geometry - 如何在 CGAL 中检查 Polyhedron_3 的交集
- javascript - 在 nodeJS 服务器上保存 base64 PNG 图像
- postgresql - 连接与会话不一样吗?
- java - 来自 android.fromHtml 的文本视图/数据中的多个自定义字体
- jquery - Modal 在我的网络服务器中不起作用,但在 localhost 中起作用。这是为什么?
- python - pandas:以特殊顺序合并两个数据框