【问题标题】:Floating action button: how to change the splash color and highlight color like in a RaisedButton?浮动动作按钮:如何像 RaisedButton 一样更改启动颜色和突出显示颜色?
【发布时间】:2019-07-03 16:09:45
【问题描述】:

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

【问题讨论】:

    标签: dart flutter floating-action-button


    【解决方案1】:

    如果您查看FloatingActionButton 的源代码,则初始颜色与应用程序的主题相关联,因此您可以仅更改按钮的主题,如下所示:

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

    【讨论】:

    • 我认为您可以使用该主题创建一个无状态小部件。
    • 哇,谢谢。这太棒了。甚至没想到我可以只为按钮制作另一个主题小部件。谢谢。
    【解决方案2】:

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

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

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

    
      MaterialApp(
        theme: theme,
        ...,
      )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-07
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多