flutter - Flutter - 行/列项目之间的最小间距
问题描述
我尝试从图片构建布局但没有成功。我该怎么做?(请参阅我在下面尝试过的内容)
我这样构建Row
:
final row = Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Item(),
SizedBox(width: _minSpacing),
Item(),
SizedBox(width: _minSpacing),
Item(),
],
);
效果很好,但不能在溢出时缩小内容。所以我把这个东西放在里面FittedBox
来支持缩小:
final fittedRow = FittedBox(
fit: BoxFit.scaleDown,
child: row,
);
此时Row
停止在项目之间分配空闲空间。它似乎FittedBox
试图尽可能小,并且不为Row
. 所以我也试着把它放进Container
去可能会伸展FittedBox
:
Container(
width: double.infinity,
child: fittedRow,
);
但Row
仍然不会传播它的孩子。我能做的最好的事情就是设置BoxFit.contain
- 然后FittedBox
至少开始升级Row
以填满整个屏幕。
解决方案
如果您使用灵活的小部件包装您的项目并为其分配 flex 值,我认为您会得到您想要的,它将根据手机的屏幕自动设置您的项目
推荐阅读
- android - Android Q、R 中的 WiFiManager API
- dbeaver - DBeaver:将服务器输出重定向到文件
- java - 与 java 具有相同属性的过滤器列表(首选 groovy)
- html - 如何在使用 display:flex 换行文本后删除空格?
- qt - 如何在 QML 中将父窗口置于子窗口前面
- scalardb - 在 Scalardb 中启用日志记录
- python - 定期检查 python 脚本是否正在运行并在没有运行时重新启动它的服务
- dataweave - MULE 4:DATAWEAVE 2.0:如何获取 Dataweave 2.0 中两个 Time 实例之间的小时数差异?
- python - 在python中创建2个日期之间的年份列表
- python - 在Python中组合两个字典列表中的值时如何避免嵌套for循环?