android - 如何在 Flutter 中为按钮添加渐变?

有没有办法将 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/

相关文章:

dart - Flutter Firestore 服务器端时间戳

ios - 使用 Swift 创建 Flutter 项目

dart - Flutter BottomNavigationBar 不能处理三个以上的项目

dart - 如何正确创建评分星条?

android - 在 flutter 中打开对话框时检测返回按钮按下

dart - 如何在我的 Flutter 应用程序中重置基本路由 - 即弹出任何路由并使用 Navi

dart - flutter 导航器不工作

android-studio - 无法将 Flutter 项目迁移到 AndroidX

dart - Flutter TextField 自动完成覆盖

flutter - Flutter中如何实现自定义对话框?