浮动操作按钮:如何像 RaisedButton 一样更改启动颜色和突出显示颜色?
Floating action button: how to change the splash color and highlight color like in a RaisedButton?
我看到 FAB 采用的启动颜色和高亮颜色与 MaterialApp 小部件中的参数颜色相关联。有没有办法覆盖这些颜色?我只找到前景色和背景色,而这些不是我想要的。谢谢
如果您查看 FloatingActionButton
的源代码,启动颜色与应用程序的主题相关,因此您可以仅为按钮更改主题,如下所示:
Theme(
data: Theme.of(context).copyWith(highlightColor: Colors.yellow),
child: FloatingActionButton(
backgroundColor: Colors.red,
onPressed: () {},
child: Text("hello world"),
),
)
虽然当前答案适用于设置单个 FloatingActionButton
的突出显示颜色,但您还可以全局定义启动颜色和突出显示颜色。可以直接为 FloatingActionButton
定义初始颜色,不过,突出显示颜色来自您的主题。
final theme = ThemeData(
highlightColor: Colors.white.withOpacity(0.25),
...,
floatingActionButtonTheme: FloatingActionButtonThemeData(
splashColor: Colors.white.withOpacity(0.25),
...,
),
);
然后,只需像这样
将您的主题添加到您的 MaterialApp
MaterialApp(
theme: theme,
...,
)
我看到 FAB 采用的启动颜色和高亮颜色与 MaterialApp 小部件中的参数颜色相关联。有没有办法覆盖这些颜色?我只找到前景色和背景色,而这些不是我想要的。谢谢
如果您查看 FloatingActionButton
的源代码,启动颜色与应用程序的主题相关,因此您可以仅为按钮更改主题,如下所示:
Theme(
data: Theme.of(context).copyWith(highlightColor: Colors.yellow),
child: FloatingActionButton(
backgroundColor: Colors.red,
onPressed: () {},
child: Text("hello world"),
),
)
虽然当前答案适用于设置单个 FloatingActionButton
的突出显示颜色,但您还可以全局定义启动颜色和突出显示颜色。可以直接为 FloatingActionButton
定义初始颜色,不过,突出显示颜色来自您的主题。
final theme = ThemeData(
highlightColor: Colors.white.withOpacity(0.25),
...,
floatingActionButtonTheme: FloatingActionButtonThemeData(
splashColor: Colors.white.withOpacity(0.25),
...,
),
);
然后,只需像这样
将您的主题添加到您的MaterialApp
MaterialApp(
theme: theme,
...,
)