浮动操作按钮:如何像 RaisedButton 一样更改初始颜色和突出显示颜色?

Flo*_*epa 7 dart floating-action-button flutter

我看到 FAB 采用的飞溅和高亮颜色与 MaterialApp 小部件中的参数颜色相关联。有没有办法覆盖这些颜色?我发现只有前景色和背景色,这些不是我想要的。谢谢

die*_*per 10

如果您检查了FloatingActionButton飞溅颜色的源代码与应用程序的主题相关联,那么您可以只为按钮更改主题,如下所示:

Theme(
  data: Theme.of(context).copyWith(highlightColor: Colors.yellow),
  child: FloatingActionButton(
    backgroundColor: Colors.red,
    onPressed: () {},
    child: Text("hello world"),
 ),
)
Run Code Online (Sandbox Code Playgroud)


小智 6

虽然当前的答案适用于设置单个 的突出显示颜色FloatingActionButton,但您也可以全局定义启动颜色和突出显示颜色。可以直接为 定义启动颜色FloatingActionButton,但突出显示颜色来自您的主题。

final theme = ThemeData(
  highlightColor: Colors.white.withOpacity(0.25),
  ...,
  floatingActionButtonTheme: FloatingActionButtonThemeData(
    splashColor: Colors.white.withOpacity(0.25),
    ...,
  ),
);
Run Code Online (Sandbox Code Playgroud)

然后,只需将您的主题添加到您的MaterialApp像这样


  MaterialApp(
    theme: theme,
    ...,
  )
Run Code Online (Sandbox Code Playgroud)