有没有办法将 ElevatedButton
背景颜色更改为渐变?
最佳答案
如果没有一些小瑕疵或问题(例如缺少波纹效果、不需要的边框、不尊重主题的按钮 minWidth),上述所有解决方案都无法真正工作。
下面的解决方案没有上述问题(关键部分是使用 Ink
小部件来保留渐变上的波纹功能):
RaisedButton(
onPressed: () { },
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(80.0)),
padding: const EdgeInsets.all(0.0),
child: Ink(
decoration: const BoxDecoration(
gradient: myGradient,
borderRadius: BorderRadius.all(Radius.circular(80.0)),
),
child: Container(
constraints: const BoxConstraints(minWidth: 88.0, minHeight: 36.0), // min sizes for Material buttons
alignment: Alignment.center,
child: const Text(
'OK',
textAlign: TextAlign.center,
),
),
),
)
https://stackoverflow.com/questions/52243364/