non*_*hto 3 dart material-design flutter
我尝试从中更改所有RaisedButtons的颜色,themeData
但拒绝工作。所有其他属性,例如fontSize
和fontWeight
成功更改。文本的颜色,只有当亮度属性更改从黑到白themeData
更改为Brightness.dark
。
我有办法解决这个问题吗?我可能做错了什么?
这是我的示例代码:
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primaryColor: Color(0XFF212845),
scaffoldBackgroundColor: Color(0XFF212845),
primarySwatch: Colors.yellow,
buttonColor: Color(0XFFF8D320),
textTheme: TextTheme(
button: TextStyle(
color: Colors.green, // This is not working.
fontSize: 30.0,
fontWeight: FontWeight.bold
)
)
),
home:MenuPage(),
);
Run Code Online (Sandbox Code Playgroud)
Sur*_*gch 12
对于其他遇到此问题的人,按钮可能不会更改颜色的一个原因是它已被禁用,这在您未onPressed
设置方法时发生。
RaisedButton(
color: Theme.of(context).accentColor,
onPressed: () {}, // <-- need to add this
child: Text(...),
),
Run Code Online (Sandbox Code Playgroud)
小智 10
如果您为 color 属性指定颜色但它没有显示,那么可能您还没有实现 onPressed 属性,因为在这种状态下按钮将显示它的禁用颜色,它根本没有颜色。
像这样设置:
onPressed: () {},
Run Code Online (Sandbox Code Playgroud)
给它一个匿名函数,同时不实现任何东西(或者你愿意的东西)会给它颜色
将buttonTheme
和添加accentColor
到您的ThemeData
,如下所示:
ThemeData(
primaryColor: Color(0XFF212845),
scaffoldBackgroundColor: Color(0XFF212845),
primarySwatch: Colors.yellow,
buttonColor: Color(0XFFF8D320),
buttonTheme: ButtonThemeData(textTheme: ButtonTextTheme.accent),
accentColor: Colors.green,
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2731 次 |
最近记录: |