根据上面@hunter的建议,我发现通过将主题中的highlightColor
和splashColor
都设置为Colors.transparent
,可以消除涟漪.
我确实有一些担心,认为设置highlightColor
可能会产生一些连锁react ,但我还没有注意到任何连锁react .
虽然我最初的答案有大量的赞成票,但我学得越多,我就越意识到这真的不是正确的方法.正如下面几个人指出的那样,更好的解决方案是使用splashFactory
.例如,下面的代码显示它是直接通过样式设置的,或者您也可以在主题中设置它:
ElevatedButton(
onPressed: onPressed,
style: ElevatedButton.styleFrom(
splashFactory: NoSplash.splashFactory,
),
child: child,
);