开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第4天,点击查看活动详情
Flutter系列文章列表
- 2022年了,你还不会flutter!!!
- Flutter 第一课---flutter特点及组件开发
- Flutter 第二课---组件生命周期和App生命周期
- Flutter 第三课---状态管理之Provide
- Flutter 第四课---路由管理
什么叫包管理器
包管理器就是用来管理程序运行依赖的一个配置应用。在程序运行中,我们会用到各种各样的第三方程序包,若我们手动管理这些程序,他将变得十分臃肿。这时候便诞生了包管理器,类似于手机中的AppStore。比如说我们手机中的某个程序更新了,我们就可以通过AppStore来更新。同样的我们可以通过包管理来更新我们程序中用到的依赖包。
Flutter 包管理器
Flutter包管理器是Yanr。它能够快速、安全、 并可靠地完成这些工作。通过Yarn你可以使用其他开发者针对不同问题的解决方案,使自己的开发过程更简单,你还可以上报或者贡献解决方案。一旦问题被修复, Yarn会更新保持同步,Flutter项目默认的配置文件是pubspec.yaml。
name: flutter_demo
description: A new Flutter project.
version: 1.0.0
dependencies:
flutter:
sdk: flutter
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
assets:
- images/a_dot_burr.jpeg
- images/a_dot_ham.jpeg
fonts:
- family: Schyler
fonts:
- asset: fonts/Schyler-Regular.ttf
- asset: fonts/Schyler-Italic.ttf
style: italic
- name:应用或包名称。
- description: 应用或包的描述、简介。
- version:应用或包的版本号。
- dependencies:生产环境依赖的工具包。
- dev_dependencies:开发环境依赖的工具包。
- flutter:flutter相关的配置选项。
- assets: 配置静态文件
- font: 配置字体文件
Pub仓库
Pub 是Google官方的Dart Packages仓库,类似于node中的npm仓库,我们可以在上面查找我们需要的包和插件,也可以向pub发布我们的包和插件。关于安装依赖的相关步骤,这里不展开讲,自行学习。
资源管理
flutter资源主要包括静态数据(例如JSON文件)、图标和图片(JPEG,WebP,GIF,动画WebP / GIF,PNG,BMP和WBMP)等。每个asset都通过相对于pubspec.yaml文件所在位置的进行配置。如上所述的image图片、font字体等。
配置图片资源
- 首先在pubspec.yaml flutter 配置环境下,配置静态文件目录或者文件名
assets:
- images/tabbar // 可以直接配置静态资源文件目录
- images/image.png // 也可以配置图片名
- 使用资源图片资源
Center(
child: Image.asset(
'images/image.png',
width: 350,
height: 335,
),
),
关于图片资源存放目录,官网说要必须配置2.x、3.x 文件目录(AssetImage 可以将asset的请求逻辑映射到最接近当前设备像素比例(dpi)的asset。),我在开发中没有配置,图片也正常加载了。所以你若没有此类需求,只是单纯去加载图片资源,建议创建一个图片资源文件夹就够了。 若我出现引导错误,及时纠正。
配置全局字体资源
- 下载字体资源包,存放在程序主目录/fonts 文件夹(存放目录可以是任何位置,需要在pubspec.yaml 配置正确的目录地址)
- 在pubspec.yaml flutter 配置环境下,配置静态文件目录或者文件名
fonts:
- family: Avenir
fonts:
- asset: fonts/Avenir/Avenir.ttf // 配置正确的字体存放路径
weight: 900
- 在main.dart 中定义全局字体配置
MaterialApp(
theme: ThemeData(fontFamily: 'Avenir'),
debugShowCheckedModeBanner: false,
),
);
配置完成后,你程序中的默认字体就是你所下载的字体文件了。是不是so easy!
关于静态资源配置,上述两种是我在项目中经常遇到的一些配置。关于其他静态资源配置,暂时没有遇到,若之后遇到了,解决了,我会及时补充,还请各位同学理解。
结束语
关于flutter包管理器和资源管理的学习到这里就结束了。下期我们来说说flutter网络请求及封装处理。如果你刚好正在学习flutter,可以关注我,请相信会给你不一样的收获。如果你是flutter大佬,欢迎指导!