Jas*_*oms 6 dart flutter flutter-layout
我对Flutter和Dart很陌生,对于这个特定主题,我似乎找不到任何提示。我正在尝试将3 RadioListTiles放入Row这样:
Row(
children: [
Expanded(
child:RadioListTile<GoalSelection>(
title: Text(
'Net',
style: Theme.of(context).textTheme.body1,
),
value: GoalSelection.net,
groupValue: _goalSelection,
onChanged: (GoalSelection value) {
setState(() {
_goalSelection = value;
});
},
),
),
Expanded(
child: RadioListTile<GoalSelection>(
title: Text(
'Gross',
style: Theme.of(context).textTheme.body1,
),
value: GoalSelection.gross,
groupValue: _goalSelection,
onChanged: (GoalSelection value) {
setState(() {
_goalSelection = value;
});
},
),
),
Expanded(
child: RadioListTile<GoalSelection>(
title: Text(
'Salary',
style: Theme.of(context).textTheme.body1,
),
value: GoalSelection.salary,
groupValue: _goalSelection,
onChanged: (GoalSelection value) {
setState(() {
_goalSelection = value;
});
},
),
),
],
),
Run Code Online (Sandbox Code Playgroud)
按钮的布局不错,但标签似乎浪费了很多空间。我在下面放了一个屏幕截图,它是目前的样子。我曾尝试包裹Expanded的RadioListTile,并Text在Padding小部件(全部一次一个)来填充手动设置为0,但它没有做任何事情。我也尝试更改Expanded为,Flexible即使我认为这不会改变任何东西。我现在很茫然。有什么办法可以使这种布局正常工作吗?我有点以为这是我正在做的愚蠢的事情。
Har*_*ngh 25
您可以使用Radio + 文本小部件代替RadioListTile。要删除 Radio 小部件集中的内部填充:
Radio(
visualDensity: const VisualDensity(
horizontal: VisualDensity.minimumDensity,
vertical: VisualDensity.minimumDensity),
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
.....
),
Run Code Online (Sandbox Code Playgroud)
小智 10
您可以连续使用Radio和Text小部件。但Radio也有同样的填充问题。为了去除填充你可以把Radio作为一个孩子SizedBox。
例如:- SizedBox(height: 20, width: 20, child: Radio(.......))
刚刚设置contentPadding: EdgeInsets.zero
RadioListTile(contentPadding: EdgeInsets.zero)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1534 次 |
| 最近记录: |