zer*_*r09 10 dart material-design flutter flutter-layout
我试图accentColor在复制后更改ThemeData.light(),然后我有这个示例屏幕FloatingActionButton
class Sample extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: Icon(Icons.add),
),
)}}
Run Code Online (Sandbox Code Playgroud)
然后在主小部件中main.dart调用runApp,如果我像这样设置小部件,则ThemeData颜色将为橙色。MaterialAppFloatingActionButton
theme: ThemeData(
accentColor: Colors.orange
)
Run Code Online (Sandbox Code Playgroud)
但如果我尝试继承 的颜色Themedata.light().copyWith,则FloatingActionButton仍将具有浅色主题中的蓝色。
theme: ThemeData.light().copyWith(
accentColor: Colors.orange
)
Run Code Online (Sandbox Code Playgroud)
我期望FloatingActionButton应该具有橙色,因为它继承light主题并覆盖accentColor.
看,我不认为你可以使用 ThemeData.copyWith() 继承强调色,但如果你确定使用 ThemeData.copyWith() 来更改浮动操作按钮颜色,那么你可以通过以下方式执行此操作,
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....
)
)
Run Code Online (Sandbox Code Playgroud)
您在默认文本标题中想要的配置将位于上述标题属性的 TextStyle 内,按钮也相同
现在你可以通过使用这个在你的 FAB 中实现这一点,
color: Theme.of(context).textTheme.button.color,
Run Code Online (Sandbox Code Playgroud)
通过这样做,您可以获得为 ThemeData 内的按钮设置的颜色。
如果你强制获得默认的强调色那么你必须使用
theme:ThemeData(
primaryColor: -----
accentColor : -----
)
Run Code Online (Sandbox Code Playgroud)
这将允许您使用 FAB 的默认强调色
| 归档时间: |
|
| 查看次数: |
7906 次 |
| 最近记录: |