flutter - Flutter中如何平衡Wrap widget的children?
问题描述
在 Flutter 中,Wrap 小部件尝试将子元素放置在主轴上与前一个子元素相邻的位置,如果没有足够的空间容纳子元素,它会在横轴上与现有子元素相邻创建一个新的运行。
因此,例如,如果 3 个孩子适合水平运行,而我们有 4 个孩子,它将有 2 个运行:第一个有 3 个孩子,第二个有 1 个孩子。
相反,在定义了运行次数之后,我希望它“平衡”这些孩子的位置,以便它占用相同数量的运行,但宽度最少。
在上面的示例中,这意味着第一次运行有 2 个孩子,第二次运行有 2 个孩子。但是,当然,这应该适用于任意数量的任意宽度的子代。
我怎样才能做到这一点?
解决方案
正如 Rémi 所建议的,我Wrap
使用自定义规则重新创建了小部件:https://pub.dev/packages/assorted_layout_widgetsWrapSuper
中的小部件解决了这个问题。
它并不能完全保证最小的宽度,而是最小的粗糙度,这更准确地说是我想要的。
推荐阅读
- haskell - 在 Haskell 中使用列表
- c# - 使用模型 C# 从数据库创建 XML 文件
- ios - Vaadin TextField 仅默认为 iOS 上的数字键盘
- jquery - accordion with floating content - height problem
- javascript - 有没有办法在不捆绑的情况下为 Node 和浏览器使用相同的 es6 模块导入路径?
- android - Android OpenCV 将 ROI 复制到较大图像的一部分
- macos - 在 macOS Mojave 上创建屏幕截图而不会丢失区域
- include - 如何通过 Sequelize 中包含模型的计算属性进行排序
- python - 如何从python中的xml文件中读取字典中的xml内容?
- java - JavaFX - 更改颜色后,TextField 提示文本不会在焦点时被删除