面试题答案
一键面试实现思路
- 使用
Row
布局来水平排列两个Container
。 - 左侧
Container
设置固定宽度100
像素,高度通过height
属性设置为double.minPositive
以自适应内容。 - 右侧
Container
使用Flexible
或Expanded
包裹,使其宽度自适应剩余空间,高度设置为与左侧Container
一致。通过设置alignment
属性为Alignment.center
使内部文本在垂直和水平方向都居中显示。
关键代码片段
Row(
children: [
Container(
width: 100,
height: double.minPositive,
color: Colors.grey[300],
// 这里放置左侧内容
),
Flexible(
child: Container(
alignment: Alignment.center,
color: Colors.grey[200],
child: Text('右侧文本'),
),
)
],
)
上述代码展示了如何在 Row
布局中实现题目要求的左右两个 Container
的布局。Flexible
组件确保右侧 Container
自适应剩余空间,同时通过 alignment
实现文本居中。如果想让右侧 Container
强制填满剩余空间,可以使用 Expanded
代替 Flexible
。