如text中的文本可能会很长,则可能会出现父组件越界问题,这是单纯修改子的布局或者设置text的换行不解决问题,可以考虑使用flexble或者expanded组件。
这两个组件都需要作为row或者column的子组件使用,如主轴空间不够用,则会自动扩充至次轴,实现自动换行。
Expanded会尽可能的充满分布在Row, Column, or Flex的主轴方向上;
Flexible也是为小部件提供空间的,但是不会要求子空间填满可用空间。
使用Flexible的例子:
new Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'医院:',
style: TextStyle(fontSize: 18),
),
Flexible(
child: Text(
map['hospital'],
style: TextStyle(fontSize: 18),
),
)
],
),