【发布时间】:2019-04-04 01:59:19
【问题描述】:
我正在尝试做一些 ui 自定义,但我不知道如何减少 Flutter 中 Radio 或 RadioList 的填充。
我们能做到吗?
【问题讨论】:
-
关注this答案,实现你想要的
标签: flutter
我正在尝试做一些 ui 自定义,但我不知道如何减少 Flutter 中 Radio 或 RadioList 的填充。
我们能做到吗?
【问题讨论】:
标签: flutter
如果您使用的是RadioListTile,则将dense 设置为true。
如果是Radio,那么materialTapTargetSize: MaterialTapTargetSize.shrinkWrap 将减小大小。
否则,请自己制作。
【讨论】:
dense: true 在RadioListTile 的情况下无法解决我的问题。谢谢。
如果您使用的是 Radio,请添加属性
visualDensity: VisualDensity(horizontal: x, vertical: y),
其中 -4
【讨论】:
设置这些 Radio 属性:
visualDensity: const VisualDensity(
horizontal: VisualDensity.minimumDensity,
vertical: VisualDensity.minimumDensity,
),
和
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
【讨论】:
这对我很有用...
RadioListTile(
title: Transform.translate(
offset: const Offset(-12, 0),
child: Text(Text'),
),
value: ...
),
【讨论】:
将 Radio 小部件包装在 SizedBox 中,这样您就可以控制 Radio 小部件周围的填充。
SizedBox(
width: 20,
height: 20,
child: Radio(
value: true,
groupValue: _isSubscription,
onChanged: (_) {
setState(() {
_isSubscription = true;
});
},
// this no longer has any effect on the size
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
),
),
【讨论】: