Button 如何更改“颤振材料”按钮的字体大小?
如何更改材质按钮的字体大小。。。有更好的方法吗Button 如何更改“颤振材料”按钮的字体大小?,button,flutter,text-size,Button,Flutter,Text Size,如何更改材质按钮的字体大小。。。有更好的方法吗 new MaterialButton( height: 140.0, minWidth: double.infinity, color: Theme.of(context).primaryColor, textColor: Colors.white, child: new Text("material button"), onPressed: () => {}, splashColor: Colors.redAcc
new MaterialButton(
height: 140.0,
minWidth: double.infinity,
color: Theme.of(context).primaryColor,
textColor: Colors.white,
child: new Text("material button"),
onPressed: () => {},
splashColor: Colors.redAccent,
),
你可以利用
Flatter中的小部件体系结构非常简单:
MaterialButton
的子部件是一个Text
小部件,可以使用其style
属性设置样式:
new MaterialButton(
height: 140.0,
minWidth: double.infinity,
color: Theme.of(context).primaryColor,
textColor: Colors.white,
child: new Text(
"material button",
style: new TextStyle(
fontSize: 20.0,
color: Colors.yellow,
),
),
onPressed: () => {},
splashColor: Colors.redAccent,
);
只需使用官方文档TextStyle
和fontSize
fontSize默认为14个逻辑像素,双精度
演示
进口“包装:颤振/材料.省道”;
void main()=>runApp(App());
类应用程序扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
//主页:StateApp(),
家:脚手架(
appBar:appBar(
标题:文本(“appbar”),
背景颜色:Colors.blueAccent[700],
),
正文:中(
子项:StateApp(),
),
),
);
}
}
类StateApp扩展StatefulWidget{
StateApp();
@凌驾
createState()=>_StateAppState();
}
类_StateAppState扩展状态{
int _计数器=0;
_updateCounter()=>setState(){
_计数器++;
});
//_updateCounter(){
//设置状态(){
//_计数器++;
// });
// }
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
子:列(
儿童:[
填充物(
padding:const-EdgeInsets.all(23.0),//双精度
子:文本(
“您已经按了这么多次按钮:”,
样式:TextStyle(
fontWeight:fontWeight.bold,
fontSize:18.0,//双精度
),
),
),
居中(
子:文本(
“$”计数器“,
样式:TextStyle(
fontWeight:fontWeight.bold,
fontSize:23.0,//双精度
),
),
),
],
),
),
浮动操作按钮:浮动操作按钮(
已按下:(){
//_计数器++;
打印(“单击=$\计数器”);
//设置状态(){
//_计数器++;
// });
_updateCounter();
},
子:图标(Icons.add),
),
);
}
}
使用主题数据
,您可以全局设置按钮的文本属性:
const ColorScheme _scheme = ColorScheme.light();
const Color _primaryColor = TranscarentColors.primary;
final ThemeData theme = ThemeData(
primaryColor: _primaryColor,
textTheme: const TextTheme(
button: TextStyle(
color: Colors.white,
),
),
buttonTheme: const ButtonThemeData(
height: 140.0,
minWidth: double.infinity,
colorScheme: _scheme,
splashColor: Colors.redAccent,
buttonColor: _primaryColor,
textTheme: ButtonTextTheme.primary,
),
);
…可以作为参数传递给
MaterialApp()
。你想避免使用MaterialButton
?我正在试验按钮,只是想寻找新的想法。你给我的解决方案添加了什么?
final double fontSize;
import 'package:flutter/material.dart';
void main() => runApp(App());
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
// home: StateApp(),
home: Scaffold(
appBar: AppBar(
title: Text("appbar"),
backgroundColor: Colors.blueAccent[700],
),
body: Center(
child: StateApp(),
),
),
);
}
}
class StateApp extends StatefulWidget {
StateApp();
@override
createState() => _StateAppState();
}
class _StateAppState extends State<StateApp> {
int _counter = 0;
_updateCounter() => setState(() {
_counter++;
});
// _updateCounter() {
// setState(() {
// _counter++;
// });
// }
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(23.0),// double
child: Text(
'You have pushed the button this many times:',
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 18.0,// double
),
),
),
Center(
child: Text(
'$_counter',
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 23.0,// double
),
),
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
// _counter++;
print("clicked = $_counter");
// setState(() {
// _counter++;
// });
_updateCounter();
},
child: Icon(Icons.add),
),
);
}
}
const ColorScheme _scheme = ColorScheme.light();
const Color _primaryColor = TranscarentColors.primary;
final ThemeData theme = ThemeData(
primaryColor: _primaryColor,
textTheme: const TextTheme(
button: TextStyle(
color: Colors.white,
),
),
buttonTheme: const ButtonThemeData(
height: 140.0,
minWidth: double.infinity,
colorScheme: _scheme,
splashColor: Colors.redAccent,
buttonColor: _primaryColor,
textTheme: ButtonTextTheme.primary,
),
);