Flutter通过弱小的MediaQuery控件做到监听前设施的信息及其设施信息的动态变化

参考:Flutter 弱小的MediaQuery控件
Flutter 小技巧之 MediaQuery 和 build 优化你不晓得的机密
MediaQuery妙用
Flutter官网文档 MediaQuery

一个简略的小案例

import 'package:flutter/material.dart';import 'ui/HomePage.dart'; void main() {  runApp(const MyApp());}class MyApp extends StatelessWidget {  const MyApp({super.key});  @override  Widget build(BuildContext context) {    return MaterialApp(      title: 'Flutter Demo',      theme: ThemeData(        primarySwatch: Colors.blue,      ),      routes: {        "/":(context) => const MyHomePage(title: '23') // 测试页面      },      initialRoute: '/',      builder: (context, widget) {        print('监听到安卓零碎字体大小变动');        print(MediaQuery.of(context).textScaleFactor);        print('监听到安卓零碎主题深色模式切换');        print(MediaQuery.of(context).platformBrightness == Brightness.light ? '红色主题':'深色主题');        return MediaQuery(            // 设置全局文字缩放因子为默认1.0,文字大小不随零碎变动而扭转            data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0),            child: widget!        );      },    );  }}