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