我在ListTile
内部有一个Radio
按钮。当点击ListTile
时,我会改变Radio
的值。但我不希望单选按钮是可点击的,因此我没有提供onChanged
回调函数:
ListTile(
onTap: () => onChanged(template.id),
leading: Radio(
value: template.id,
groupValue: checkedId,
)
...
)
这样做,Radio
就变成了“非活动”状态,并将其颜色变为灰色。
Radio
有一个 activeColor
属性,但没有用于非活动状态的属性。
如果我为 Radio
的 onChanged
属性提供一个虚拟函数,则它会变为活动状态,但问题在于我不希望它可以点击,我只想让 ListTile
可以点击(原因是我想能够取消选择 Radio
)。
此外,我只想更改这些特定 Radio
按钮的非活动颜色,而不是整个应用程序的颜色。
当前结果:
使用 onChange
的结果(无法取消选中 Radio
):
Radio
也变成蓝色。以下是修复方法:disabledColor:template.ai == checkedAi ? Colors.blue : null,
谢谢。 - HTMHell