【发布时间】:2020-02-22 13:27:43
【问题描述】:
如何防止RaisedButton 扩展以填充包含它的Expanded?我想创建与可用空间成正比的三列宽度,但我希望每列中的子级为其自然大小,而不占用其父级Expanded 的整个宽度。
Widget _controls(BuildContext cx) {
return Row(
children: [
Expanded(
flex: 1,
child: player.isOnFirstItem
? Container()
: IconButton(
icon: Icon(Icons.arrow_back),
onPressed: () => control.gotoPreviousItem(),
),
),
Expanded(
flex: 4,
child: player.isComplete()
? Text(player.currentItem.status) // I'll be adding more here
: RaisedButton(
child: Text(player.currentItem.actionText),
onPressed: () => player.currentItem.action(),
),
),
Expanded(
flex: 1,
child: player.isOnLastItem
? Container()
: IconButton(
icon: Icon(Icons.arrow_forward),
onPressed: () => player.gotoNextItem(),
),
),
],
);
当我进一步将Container 嵌套在Container 中时,RaisedButton 也会填充弹性空间。我不知道哪些属性可能会阻止这种情况。
四处寻找答案,似乎每个人都在试图完成相反的事情。
【问题讨论】:
-
我注意到该帖子被编辑为将类名表示为代码。这似乎是 GitHub 问题和 Medium 文章中的一种约定不将类名显示为代码。我为 Medium 写了几篇文章,首先将类名表达为代码,但发现很难阅读。在检查了许多其他文章的约定后,发现很少有人这样做,因此删除了代码格式。男孩让一切都变得更干净了。
-
我不确定 StackOverflow 中对类的官方约定是什么,我看到人们将它们格式化为代码,我开始对任何与代码相关的东西做同样的事情,比如在提到方法时。但是,如果您认为另一种方式更好,请随时编辑您的帖子。
标签: flutter flutter-layout flutter-widget