didChangeTextScaleFactor method

  1. @override
void didChangeTextScaleFactor()
override

Called when the platform's text scale factor changes.

This typically happens as the result of the user changing system preferences, and it should affect all of the text sizes in the application.

This method exposes notifications from dart:ui.PlatformDispatcher.onTextScaleFactorChanged.

{@tool snippet}

class TextScaleFactorReactor extends StatefulWidget {
  const TextScaleFactorReactor({ super.key });

  @override
  State<TextScaleFactorReactor> createState() => _TextScaleFactorReactorState();
}

class _TextScaleFactorReactorState extends State<TextScaleFactorReactor> with WidgetsBindingObserver {
  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(this);
  }

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }

  late double _lastTextScaleFactor;

  @override
  void didChangeTextScaleFactor() {
    setState(() { _lastTextScaleFactor = WidgetsBinding.instance.platformDispatcher.textScaleFactor; });
  }

  @override
  Widget build(BuildContext context) {
    return Text('Current scale factor: $_lastTextScaleFactor');
  }
}

{@end-tool}

See also:

Implementation

@override
void didChangeTextScaleFactor() {}