我在复制accentColor
之后尝试更改ThemeData.light()
,然后在此示例屏幕中显示了FloatingActionButton
class Sample extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: Icon(Icons.add),
),
)}}
然后在main.dart
的主窗口小部件中调用runApp
,如果我像这样为ThemeData
小部件设置MaterialApp
,则FloatingActionButton
将具有橙色。
theme: ThemeData(
accentColor: Colors.orange
)
但是如果我尝试从Themedata.light().copyWith
继承颜色,则FloatingActionButton
仍然会从浅色主题变成蓝色。
theme: ThemeData.light().copyWith(
accentColor: Colors.orange
)
我曾期望FloatingActionButton
应该具有橙色,因为它继承了light
主题并覆盖了accentColor
。
theme:ThemeData.dark().copyWith(
textTheme:ThemeData.dark().textTheme.copyWith(
title :TextStyle( --your color and text configuratons here like color,font etc)
button: TextStyle(--do--),
...and so on....
)
)
您希望在默认文本标题中使用的配置将进入上述title属性的TextStyle内,并且与按钮相同
现在您可以通过使用此功能在您的FAB内实现这一目标,
color: Theme.of(context).textTheme.button.color,
通过这样做,您可以获得在主题数据中为按钮设置的颜色。
如果您强制使用默认的配色,则必须使用
theme:ThemeData( primaryColor: ----- accentColor : ----- )
这将允许您使用FAB的默认强调色