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,
  ),
);