上QQ阅读APP看书,第一时间看更新
1.1.4 pubspec.yaml文件
关于字体、图片、音频、文本、插件等资源文件的引入,可在pubspec.yaml文件中进行配置。文件夹放置的位置没有限定,只要在pubspec.yaml中配置正确即可。在打包时,Flutter会将其打入安装包内:
#基本信息 name: flutter_journey #项目名 description: A new Flutter application. #项目描述 version: 1.0.0+1 #项目版本 environment: #环境配置 sdk: ">=2.1.0 <3.0.0" # Dart sdk 版本 #项目依赖 dependencies: # 库依赖,在此之下可以添加项目依赖的第三方库 flutter: #依赖flutter库 sdk: flutter cupertino_icons: ^0.1.2 #依赖Cupertino风格图标库 dev_dependencies: #开发环境的依赖库:不会用于生产环境 flutter_test: sdk: flutter #资源文件 assets: #配置资源,可以是图片和json、音/视频等文件 - assets/mages/icon_flutter.png - assets/images/2.0x/icon_flutter.png #使用2.0x和3.0x会根据分辨率去加载对应图片 - assets/images/3.0x/icon_flutter.png - assets/data/data.json fonts: # 配置字体,可配置多个,支持ttf、otf、ttc等字体资源 - family: TolyIcon #字体名 fonts: # 字体文件 - asset: assets/fonts/iconfont.ttf - family: 阿里惠普体 #字体名 fonts: - asset: assets/fonts/Alibaba-PuHuiTi-Medium.otf - family: Menlo #字体名 fonts: - asset: assets/fonts/Menlo.ttc
提示:对于图片资源,可直接使用图片文件夹路径,如-images/,不必各自配置。另外,对于分辨率不同的设备,可通过2.0x,3.0x等文件夹放置图片,Flutter会自动加载。对比Android项目,mdpi为1.0x,hdpi为1.5x,xhdpi为2.0x,xxhdpi为3.0x,xxxhdpi为4.0x。
通过异步方法rootBundle.loadString('assets/data/data.json')可以加载字符资源,如json、文本等。也可以使用DefaultAssetBundle.of(context)获取AssetBundle对象,再使用该对象的loadString加载字符资源,条条大路通罗马,殊途同归。测试案例见day01/03/main.dart。