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

问题描述 投票:3回答:2

我看到FAB所采用的启动色和突出显示颜色与MaterialApp小部件中的参数颜色相关。有没有办法覆盖这些颜色?我发现只有前景色和背景色,而这些并不是我想要的。谢谢

dart flutter floating-action-button
2个回答
4
投票

如果您检查FloatingActionButton的源代码,初始颜色与应用程序的主题相关,因此您只能更改按钮的主题,如下所示:

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

0
投票

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

final theme = ThemeData(
  highlightColor: Colors.white.withOpacity(0.25),
  ...,
  floatingActionButtonTheme: FloatingActionButtonThemeData(
    splashColor: Colors.white.withOpacity(0.25),
    ...,
  ),
);

然后,像这样简单地将主题添加到MaterialApp中>


  MaterialApp(
    theme: theme,
    ...,
  )
© www.soinside.com 2019 - 2024. All rights reserved.