入坑fluter第二天,遇到Flutter对本地图片的使用不是很友好,遂去查找是否有相关的插件可使用,惊喜发现了这个库: flr,中文readme,其中也包含使用方法
全名读作Flutter - R,跟之前在原生项目中使用的三方库R.swift写法很像,功能上也是用来管理,图片、JSON文件、Font等
本人使用的是Mac开发,接入方法如下:
1.控制台中安装flr
cd 你的flutter工程目录
flr init
2.打开你的工程中的pubspec.yaml文件,并按照以下配置去填写,否则文件生成时会报错,本人目前core_version版本是3.2.0故填写最新的版本号
flr:
core_version: 3.2.0
# config the line length for formatting r.g.dart
dartfmt_line_length: 80
# config the image and text resource directories that need to be scanned
assets:
- lib/assets/images
- lib/assets/texts
# config the font resource directories that need to be scanned
fonts:
- lib/assets/fonts
3.插件作者推荐的资源项目结构,避免报错,初期建议参照这个结构去管理
flutter_project_root_dir
├── build
│ ├── ..
├── lib
│ ├── assets
│ │ ├── images // 所有模块的图片资源总目录
│ │ │ ├── #{module} // 某个模块的图片资源总目录
│ │ │ │ ├── #{main_image_asset}
│ │ │ │ ├── #{variant-dir} // 某个变体版本的图片资源总目录
│ │ │ │ │ ├── #{image_asset_variant}
│ │ │ │
│ │ │ ├── home // home模块的图片资源总目录
│ │ │ │ ├── home_badge.svg
│ │ │ │ ├── home_icon.png
│ │ │ │ ├── 3.0x // 3.0倍分辨率版本的图片资源总目录
│ │ │ │ │ ├── home_icon.png
│ │ │ │
│ │ ├── texts // 文本资源总目录
│ │ │ │ // (你也可以根据模块进一步细分)
│ │ │ └── test.json
│ │ │ └── test.yaml
│ │ │ │
│ │ ├── fonts // 所有字体家族的字体资源总目录
│ │ │ ├── #{font-family} // 某个字体家族的字体资源总目录
│ │ │ │ ├── #{font-family}-#{font_weight_or_style}.ttf
│ │ │ │
│ │ │ ├── Amiri // Amiri字体家族的字体资源总目录
│ │ │ │ ├── Amiri-Regular.ttf
│ │ │ │ ├── Amiri-Bold.ttf
│ │ │ │ ├── Amiri-Italic.ttf
│ │ │ │ ├── Amiri-BoldItalic.ttf
│ ├── ..
4.执行,会进行资源扫描并在项目中生成r.g.dart文件
flr run
5.可以使用实时资源监听命令进行管理,会自动更新r.g.dart文件内容
flr run --auto
6.开始使用吧!
import 'r.g.dart';
var image = R.image.yourImage();
最后十分感谢插件作者贡献代码,希望大家也能给作者点颗星⭐️
网友评论