我看到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,
...,
)