可以通过使用Row和Expanded来实现。下面是一个示例代码:
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Expanded(
child: RadioListTile(
title: Text('选项1'),
value: 1,
groupValue: selectedValue,
onChanged: (value) {
setState(() {
selectedValue = value;
});
},
),
),
Expanded(
child: RadioListTile(
title: Text('选项2'),
value: 2,
groupValue: selectedValue,
onChanged: (value) {
setState(() {
selectedValue = value;
});
},
),
),
],
),
],
)
在这个示例中,我们使用了Column作为主容器,并将其主轴对齐方式设置为居中对齐(MainAxisAlignment.center)。然后,在Column中创建了一个Row作为子容器,并将其主轴对齐方式也设置为居中对齐(MainAxisAlignment.center)。
在Row中,我们使用了两个Expanded来包裹RadioListTile。Expanded会将可用空间平均分配给包裹的子组件,从而实现平铺效果。每个RadioListTile都有一个title用于显示选项的文本,value表示选项的值,groupValue表示当前选中的值,onChanged是当选项发生改变时的回调函数。
通过这样的布局方式,两个RadioListTile将会在列的中心对齐,并且平铺在一行中。
领取专属 10元无门槛券
手把手带您无忧上云