flutter - 停靠在 Flutter 中的可扩展浮动操作按钮
问题描述
我想创建一个可扩展的中心停靠浮动操作栏按钮。可展开的浮动动作按钮的当前设计如图所示
浮动操作按钮是一列转换小部件,当按下底部切换按钮时会展开/折叠。浮动操作按钮位于中心停靠,形状为 CircularNotchedRectangle,notchMargin 为 10。但是,此方法在折叠和展开时会产生不需要的背景(按钮后面的形状)。我希望它能够看起来像这样。
我将如何尝试解决这个问题。
浮动操作按钮的代码如下所示
floatingActionButton: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Transform(
transform: Matrix4.translationValues(
0.0, _translateButton!.value * 3.0, 0.0),
child: buttonAdd()),
Transform(
transform: Matrix4.translationValues(
0.0, _translateButton!.value * 2.0, 0.0),
child: buttonFile(),
),
Transform(
transform:
Matrix4.translationValues(0.0, _translateButton!.value, 0.0),
child: buttonFolder(),
),
buttonToggle(),
SizedBox(height: 30),
],
),
和按钮导航栏的代码
bottomNavigationBar: BottomAppBar(
shape: CircularNotchedRectangle(),
color: default_background_color,
notchMargin: 10,
child: Container(
height: 60,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
MaterialButton(
onPressed: () {},
child: Icon(Icons.home, color: Colors.blue),
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
MaterialButton(
onPressed: () {},
child: Icon(Icons.settings, color: Colors.blue),
)
],
)
],
),
),
),
解决方案
您的自定义 FAB 比普通 FAB 高,因为它有额外的项目。试图将其作为停靠项目进行调整效果不佳。
本教程为我解决了这个问题。 https://codewithandrea.com/articles/adding-animated-overlays-to-your-app/
他通过使用Overlays解决了这个问题。
推荐阅读
- tensorflow - 跨平台的 TensorFlow 结果
- php - 通过使用php将表单中的值添加到表列中的现有值来更新数据库中的值的问题
- python - 如何使用 genfromtxt 加载包含字符串和数字的 csv 文件?
- d3.js - d3-force:过滤/删除节点时保持图形紧凑
- java - 使用基于 Web 的文本编辑器(如在 WebView #javafx 中加载的summernote)时无法加载图像
- mysql - Sequelize 或 MySql 创建额外的表,EER 图中缺少表连接
- sql - MongooseIM 可以在 PostgreSQL 后端处理多少用户?
- javascript - 相对于绝对父元素中的绝对定位元素定位元素
- azure - 如何使用 python 在 Azure 机器学习服务上安装 pyodbc 驱动程序?
- flutter - 如何隐藏和显示应用栏操作按钮