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