当前位置: 首页 > news >正文

建网站wordpress肃北蒙古族自治县建设局网站

建网站wordpress,肃北蒙古族自治县建设局网站,网站模板价格,wordpress 信息库插件基本概念 MediaQuery.platformBrightnessOf(context) 用于获取当前操作系统的亮度模式,而不是应用的主题模式。 返回值Brightness.light:系统当前是亮色模式Brightness.dark:系统当前是暗色模式 基本用法 // 获取系统亮度 Brightness sys…

基本概念

MediaQuery.platformBrightnessOf(context) 用于获取当前操作系统的亮度模式,而不是应用的主题模式。

返回值

· Brightness.light:系统当前是亮色模式
· Brightness.dark:系统当前是暗色模式

基本用法

// 获取系统亮度
Brightness systemBrightness = MediaQuery.platformBrightnessOf(context);// 判断是否是暗色模式
bool isSystemDark = systemBrightness == Brightness.dark;print('系统亮度模式: $systemBrightness'); // Brightness.light 或 Brightness.dark

与主题提供的区别

方法 来源 用途
MediaQuery.platformBrightnessOf(context) 操作系统设置 获取系统当前的亮度模式
Theme.of(context).brightness 应用主题 获取应用当前的主题亮度
Provider.of(context).isDarkMode 用户选择 获取用户选择的主题状态

实际应用场景

  1. 根据系统亮度设置UI

Widget build(BuildContext context) {Brightness systemBrightness = MediaQuery.platformBrightnessOf(context);bool isSystemDark = systemBrightness == Brightness.dark;return Container(color: isSystemDark ? Colors.black : Colors.white,child: Text('当前系统是${isSystemDark ? "暗色" : "亮色"}模式',style: TextStyle(color: isSystemDark ? Colors.white : Colors.black,),),);
}
  1. 系统导航栏适配
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(systemNavigationBarColor: MediaQuery.platformBrightnessOf(context) == Brightness.dark ? Colors.black : Colors.white,systemNavigationBarIconBrightness: MediaQuery.platformBrightnessOf(context) == Brightness.dark ? Brightness.light : Brightness.dark,),
);
  1. 跟随系统主题的组件
Widget build(BuildContext context) {final systemBrightness = MediaQuery.platformBrightnessOf(context);return Icon(Icons.brightness_auto,color: systemBrightness == Brightness.dark ? Colors.white : Colors.black,);
}

结合用户主题选择的完整方案

Widget build(BuildContext context) {final themeProvider = Provider.of<ThemeProvider>(context);final systemBrightness = MediaQuery.platformBrightnessOf(context);// 确定最终主题:如果用户选择"跟随系统",就用系统亮度final bool actualIsDarkMode;if (themeProvider.themeMode == ThemeMode.system) {actualIsDarkMode = systemBrightness == Brightness.dark;} else {actualIsDarkMode = themeProvider.themeMode == ThemeMode.dark;}// 应用主题设置SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(systemNavigationBarColor: actualIsDarkMode ? Colors.black : Colors.white,systemNavigationBarIconBrightness: actualIsDarkMode ? Brightness.light : Brightness.dark,),);return Scaffold(backgroundColor: actualIsDarkMode ? Colors.black : Colors.white,// ... 其他代码);
}

注意事项

  1. 实时性:系统亮度改变时会自动重建widget
  2. 平台支持:在所有平台都有效
  3. 性能:调用成本很低,可以放心在build方法中使用
  4. 与Theme的区别:不要和Theme.of(context).brightness混淆

常见错误用法

// ❌ 错误:混用系统亮度和主题亮度
SystemUiOverlayStyle(systemNavigationBarColor: MediaQuery.platformBrightnessOf(context) == Brightness.dark ? Colors.black : Colors.white,systemNavigationBarIconBrightness: Theme.of(context).brightness == Brightness.dark  // 混用了!? Brightness.light : Brightness.dark,
)

最佳实践

// 在需要根据系统设置(而不是应用主题)调整UI时使用
final systemBrightness = MediaQuery.platformBrightnessOf(context);// 在需要根据用户最终选择的主题调整UI时,使用统一的判断逻辑
final actualTheme = themeProvider.themeMode == ThemeMode.system? MediaQuery.platformBrightnessOf(context): (themeProvider.themeMode == ThemeMode.dark ? Brightness.dark : Brightness.light);

总结:MediaQuery.platformBrightnessOf(context) 主要用于获取系统级别的亮度设置,适合需要跟随系统外观的场景。

http://www.dtcms.com/a/434038.html

相关文章:

  • 网站 前端 后端布吉网站开发
  • 阿克苏市建设局网站外包做网站怎么拿源代码
  • 无锡响应式网站建设做网站还需要搜狗吗
  • 橱柜网站建设公司网站开发建设企业
  • 网页设计与网站建设实训目的网站做超链接的方式有哪些
  • 营销型网站策划怎么做宁波江北区建设局网站
  • 上海住房城乡建设网站证件查询科技公司网站建设策划方案
  • server2008部署网站计算机选什么专业最好
  • 丽水公司网站建设wordpress 教师工作坊
  • 网站开发项目组团队手机微信网站链接
  • 1 设计一个企业网站免费制作小说封面的网站
  • wordpress 网站备份网站群建设技术规范
  • 高端企业网站价位经销商管理系统软件
  • 微信企业网站模板建筑工程分包平台
  • 网站系统建设的主要意义如何营销
  • 给 小企业 建设网站临沂seo推广外包
  • 自己可以做百度网站吗小微企业利润大于300万
  • 做创意网站上海市建设咨询协会网站
  • 微网站和手机站区别企业咨询管理公司起名
  • 团队网站怎么做广州邮局网站
  • 企业网站设计图黑龙江建筑施工管理平台
  • 太原市住房和城乡建设部网站前端开发和后端开发哪个好
  • 做金融网站违法吗西安网站制作公司推荐
  • 免费建设一个可以访问的网站东莞做网站公司多少钱
  • wordpress站点标题是什么自己开发微信小程序教程
  • 网站建设课程设计报告图文免费包装设计在线生成
  • 网络技术学习网站谷德设计网官网入口
  • 网站服务器建设费用网站建设企业名录
  • 个人博客网站的建设结构图网站模板参考
  • 优质做网站费用wordpress序号插件