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

flutter-boilerplate-project 学习笔记

项目地址:

https://github.com/zubairehman/flutter_boilerplate_project/tree/master

样板包含创建新库或项目所需的最小实现。存储库代码预加载了一些基本组件,例如基本应用程序架构、应用程序主题、常量和创建新项目所需的依赖项。通过使用样板代码作为标准初始值设定项,我们可以在所有将继承它的项目中具有相同的模式。这也将有助于减少设置和开发时间,允许您使用相同的代码模式并避免从头开始重写。

代码生成

该项目使用与代码生成配合使用的库,执行以下命令生成文件:inject

flutter packages pub run build_runner build --delete-conflicting-outputs

或 watch 命令以保持源代码自动同步:

flutter packages pub run build_runner watch

隐藏生成的文件

要隐藏生成的文件,请导航到 -> -> -> 并将以下行粘贴到部分下:Android StudioPreferencesEditorFile Typesignore files and folders

*.inject.summary;*.inject.dart;*.g.dart;

在 Visual Studio Code 中,导航到 -> 并搜索 。添加以下模式:PreferencesSettingsFiles:Exclude

**/*.inject.summary
**/*.inject.dart
**/*.g.dart

国际化

多语言国际化开发

代码在线运行

https://dartpad.dev/?embed=true&split=60&run=true&sample_id=material.ListTile.2&channel=stable

Theme主题设置

默认的主题,是红色的,可以尝试调整一下主题,或者使用Material 主题。

修改

samking_pump/lib/constants/app_theme.dart

就可以实现主色调的修改了。

在这个文件中

samking_pump/lib/presentation/my_app.dart

有如下代码:

Widget build(BuildContext context) {return Observer(builder: (context) {return MaterialApp(debugShowCheckedModeBanner: false,title: Strings.appName,theme: _themeStore.darkMode? AppThemeData.darkThemeData: AppThemeData.lightThemeData,

这里有个return MaterialApp(…) 说明本身就是使用的是Material主题的。

使用Material默认主题

修改 samking_pump/lib/constants/app_theme.dart

  return ThemeData(colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),useMaterial3: true,);

设置主色调自动生成配色方案

  //这会根据 seedColor 自动生成一整套符合 Material 设计规范的颜色方案,非常实用。static ColorScheme blueLightColorScheme = ColorScheme.fromSeed(seedColor: Colors.blue, // 你也可以换成你喜欢的主色,比如 Colors.greenbrightness: Brightness.light,);

颜色查询

https://api.flutter.dev/flutter/material/Colors-class.html

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

相关文章:

  • 嵌入式学习笔记-MCU阶段--DAY09
  • STM32-ESP8266Wi-Fi模块使用USART实现通信/创建AP和STA模式配置教程(寄存器版)
  • 从0开始学习R语言--Day64--决策树回归
  • 流式编程的中间操作
  • 机器学习sklearn:随机森林的决策树
  • 低通滤波器的原理以及作用
  • C# 引用外部项目
  • 切比雪夫不等式
  • 网页从点击到显示:前端开发视角下的旅程
  • 在SQL SERVER 中如何用脚本实现每日自动调用存储过程
  • 大模型开发框架LangChain之构建知识库
  • 高速公路桥梁安全监测系统解决方案
  • 技术栈:基于Java语言的搭子_搭子社交_圈子_圈子社交_搭子小程序_搭子APP平台
  • 安全专家发现利用多层跳转技术窃取Microsoft 365登录凭证的新型钓鱼攻击
  • 【C#学习Day14笔记】泛型、集合(数组列表Arraylist、列表list)与字典
  • Python 中的可迭代、迭代器与生成器——从协议到实现再到最佳实践
  • 最新docker国内镜像源地址大全
  • AttributeError: ChatGLMTokenizer has no attribute vocab_size
  • 强反光干扰下识别率↑89%!陌讯多模态融合算法在烟草SKU识别的实战解析
  • MySQL分析步
  • U-Net vs. 传统CNN:为什么医学图像分割需要跳过连接?
  • C语言的复合类型、内存管理、综合案例
  • 【AI 加持下的 Python 编程实战 2_12】第九章:繁琐任务的自动化(上)——自动清理电子邮件文本
  • PendingIntent相关流程解析
  • MySQL——事务详解
  • React Refs:直接操作DOM的终极指南
  • RAGFlow Agent 知识检索节点源码解析:从粗排到精排的完整流程
  • Java学习第九十六部分——Eureka
  • Elasticsearch IK 中文分词器指南:从安装、配置到自定义词典
  • IPAM如何帮助企业解决IP冲突、识别未经授权设备并管理子网混乱