【发布时间】:2019-07-03 16:09:45
【问题描述】:
我看到 FAB 采用的启动颜色和突出显示颜色与 MaterialApp 小部件中的参数颜色相关联。有没有办法覆盖这些颜色?我发现只有前景色和背景色,这不是我想要的。谢谢
【问题讨论】:
标签: dart flutter floating-action-button
我看到 FAB 采用的启动颜色和突出显示颜色与 MaterialApp 小部件中的参数颜色相关联。有没有办法覆盖这些颜色?我发现只有前景色和背景色,这不是我想要的。谢谢
【问题讨论】:
标签: dart flutter floating-action-button
如果您查看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,
...,
)
【讨论】: