无论手机方向如何,我都试图让小部件占据屏幕的 1/3。我该如何做到这一点?
问问题
1292 次
3 回答
2
通过使用 Column 并将内容包装在 Flexible 中并更改 flex 以使孩子占据屏幕的 1/3,我得到了我想要的:
new Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
new Flexible(flex: 2, child: new SizedBox()),
new Flexible(flex: 1, child: createTextBox())
]
);
于 2017-01-05T16:00:00.750 回答
1
有一些小部件可能会有所帮助:特别是 AspectRatio、Column/Expanded 和 CustomSingleChildLayout。如果不确切知道您想要做什么,很难给出一个好的答案。
于 2016-12-31T21:36:04.103 回答
1
您应该尝试使用Expanded小部件作为行的子级,如下所示:
new Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
new Expanded(
child: yourFirstContentWidget,
),
new Expanded(
child: yourNextContentWidget,
),
new Expanded(
child: yourLastContentWidget,
)
]
)
Expanded 小部件都将尝试尽可能多地填充行的空间。由于他们三个,他们将不得不共享空间,你最终将占据行的 1/3。
于 2017-01-04T20:56:11.597 回答