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

新手学习笔记DAY11:学习将“GitCode 口袋工具”启用深色模式

本人的学习灵感源自 CSDN 博主 A 懿轩 A(博客链接:https://blog.csdn.net/2301_80035882?type=blog)。博主围绕【2025 版 OpenHarmony】GitCode 口袋工具系列开发内容,兼具实用性与指导性,极具参考和学习意义。在此基础上所有内容均为个人实操总结,尊重原作者知识产权,特此标注。

1、首先我们将华为模拟器调为深色模式

2、然后新增一个app_theme.dart文件,具体路径是lib/core/app_theme.dart,文件创建完毕后将下列代码添加到该文件中。

import 'package:flutter/material.dart'; /// 统一管理浅色/深色主题,方便在 HarmonyOS 上适配系统夜间模式。 class AppTheme { AppTheme._(); static const Color _seedColor = Colors.indigo; static ThemeData light() => _theme(Brightness.light); static ThemeData dark() => _theme(Brightness.dark); static ThemeData _theme(Brightness brightness) { final colorScheme = ColorScheme.fromSeed( seedColor: _seedColor, brightness: brightness, ); final isDark = brightness == Brightness.dark; return ThemeData( colorScheme: colorScheme, useMaterial3: true, visualDensity: VisualDensity.standard, brightness: brightness, scaffoldBackgroundColor: colorScheme.surface, appBarTheme: AppBarTheme( backgroundColor: colorScheme.surface, foregroundColor: colorScheme.onSurface, centerTitle: true, elevation: 0, ), navigationBarTheme: NavigationBarThemeData( backgroundColor: colorScheme.surfaceContainerHigh, indicatorColor: colorScheme.primary.withValues(alpha: isDark ? 0.35 : 0.2), labelBehavior: NavigationDestinationLabelBehavior.alwaysShow, ), cardTheme: CardTheme( color: colorScheme.surfaceContainerLowest, elevation: 0, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(20), ), ), inputDecorationTheme: InputDecorationTheme( border: OutlineInputBorder( borderRadius: BorderRadius.circular(16), borderSide: BorderSide(color: colorScheme.outlineVariant), ), enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(16), borderSide: BorderSide(color: colorScheme.outlineVariant), ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(16), borderSide: BorderSide(color: colorScheme.primary, width: 1.4), ), filled: true, fillColor: colorScheme.surfaceContainerLowest, labelStyle: TextStyle(color: colorScheme.onSurfaceVariant), hintStyle: TextStyle( color: colorScheme.onSurfaceVariant.withValues(alpha: 0.7), ), prefixIconColor: colorScheme.onSurfaceVariant, ), chipTheme: ChipThemeData( backgroundColor: colorScheme.surfaceContainerHigh, selectedColor: colorScheme.primary.withValues(alpha: 0.2), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(24), ), labelStyle: TextStyle(color: colorScheme.onSurface), ), dividerTheme: DividerThemeData( color: colorScheme.outlineVariant.withValues(alpha: 0.7), thickness: 1, ), ); } }

3、然后修改main.dart文件,MaterialApp跟随系统模式,可同时拥有亮/暗主题,并通过ThemeMode.system跟随HarmonyOS/Windows 的系统设置,修改代码:

return MaterialApp( title: 'GitCode 口袋工具', theme: AppTheme.light(), darkTheme: AppTheme.dark(), themeMode: ThemeMode.system, home: const MainNavigationPage(), );

记得添加导入文件,否则会报错!

import 'package:gitcode_pocket_tool/core/app_theme.dart';

4、最后修改search_page.dart文件,修改代码:

return _InfoBanner( icon: Icons.error_outline, background: scheme.errorContainer, textColor: scheme.onErrorContainer, message: _errorMessage!, );

5、运行实例:

http://www.cnnetsun.cn/news/43791.html

相关文章:

  • 人工智能音乐创作新纪元:Jukebox技术如何重塑音乐产业边界
  • 1、免费安全解决方案的商业论证
  • 13、Snort与Windows事件日志管理全解析
  • 类脑记忆突破:字节跳动AHN-GDN技术解决AI长文本处理效率瓶颈
  • 9、Linux 文件服务器搭建与系统资源监控指南
  • 15、高级网络概念解析:从IP分类到QoS实现
  • ComfyUI中实现图像拼接的分布式生成策略
  • 20、Publius与Free Haven:匿名存储系统的探索
  • 14、Puppet与Apache:配置管理与企业级容错的综合指南
  • 锐捷RGSP | BFD技术原理与应用
  • 33、对等网络系统的问责机制与相关问题解析
  • 19、监控与趋势分析:Nagios与Cacti的应用
  • 42、Groove共享空间:安全与协作的深度解析
  • 22、家庭网络实用指南:数据备份、隐藏与布线策略
  • 28、通信与数据:实现智能家居的关键要素
  • 04_让浏览器新标签页“重生”——集颜值、效率与 AI 于一体的 WeTab 体验指南
  • 24、UNIX环境下的SAS数据集选项与格式详解
  • 26、UNIX环境下SAS的信息格式、宏功能及过程使用指南
  • 29、SAS系统相关目录、工具及通用命令详解
  • 56、网络信息服务(NIS)与轻量级目录访问协议(LDAP)部署指南
  • 57、Linux LDAP 与 CUPS 系统使用指南
  • ComfyUI与社交平台头像生成结合:个性化IP打造工具
  • ComfyUI中使用Style Transfer节点的艺术化处理
  • 27、基于地理关联数据的用户与位置建模剖析
  • 2.1 Cursor进阶技巧:Rules设置与文档集成全攻略
  • 英伟达数学推理新突破:15亿参数模型性能媲美完整版DeepSeek-R1
  • 10、网络传输与会话管理工具:lftp 与 screen 实用指南
  • 12、提升系统安全性与网络管理:SELinux与网络命令详解
  • 腾讯发布HunyuanWorld-Voyager:单图驱动3D场景生成技术突破,开启沉浸式内容创作新纪元
  • 智谱AI开源力作GLM-4-9B:多维度性能超越Llama-3-8B,开启大模型应用新纪元