Flutter default font size Flutter default font size dart dart

Flutter default font size


I found a better way for default font size by overriding the material text theme.

Reference: https://api.flutter.dev/flutter/material/TextTheme-class.html

For example:body1 is for normal Text widgetsso for the red color to all Text widgets

 theme: ThemeData(        textTheme: TextTheme(body1: TextStyle(backgroundColor: Colors.red))      )

Result:

enter image description here


A Flutter theme defines not one, but many default font sizes. The size used depends on the situation, e.g. a Text widget would normally use body style, but the same widget would use button style if used inside of a button.

I found two ways to increase all font sizes across a Flutter application.

Simple solution: adjust the default theme

MaterialApp(  theme: ThemeData(    textTheme: Theme.of(context).textTheme.apply(          fontSizeFactor: 1.1,          fontSizeDelta: 2.0,        ),  ),  ...);

The resulting font size is (originalSize * fontSizeFactor + fontSizeDelta). So in the example above all font sizes are increased by 10% and then additionally by 2.

Solution with more control: define all sizes by hand

MaterialApp(  theme: ThemeData(    textTheme: TextTheme(      bodyText1: TextStyle(fontSize: 18.0),      bodyText2: TextStyle(fontSize: 16.0),      button: TextStyle(fontSize: 16.0),      ...  // and so on for every text style    ),  ),  ...);

The full list of styles can be found at https://api.flutter.dev/flutter/material/TextTheme-class.html.


You should prefer composition over inheritance.

class Mono12Text extends StatelessWidget {  final String data;  final TextAlign align;  final TextStyle style;  Mono12Text(    this.data, {    this.align,    TextStyle style = const TextStyle(),  }) : style = style.copyWith(          fontFamily: 'Monospace',          fontSize: 12,        );  @override  Widget build(BuildContext context) {    return Text(      data,      textAlign: align,      style: style,    );  }}