有烦心事,有为难事!就怕没有好心态。(资料来源于flutter官网https://flutter.io/assets-and-images/)
类似android开发中的AndroidManifest.xml,Gradle配置文件,Flutter项目根目录下的pubspec.yaml文件是Flutter的配置文件。
虽然都是移动开发中的配置文件,但差别还是挺大的。
在Flutter中,虽然在Flutter项目中的Android文件夹下有Gradle文件,但只有在添加平台相关所需的依赖关系时才使用这些文件。 否则,应该使用pubspec.yaml声明用于Flutter的外部依赖项。
下面简单介绍配置文件:
1完整配置文件
#name很重要,如果修改了name所有的dart的文件的import前引用的本地的文件啊的包名都需要修改
name: flutterdemo
description: A new Flutter application.
dependencies:
flutter:
sdk: flutter
#添加依赖packages ^表示适配和当前大版本一致的版本,~表示适配和当前小版本一致的版本
cupertino_icons: ^0.1.2
english_words: ^3.1.0
# image_picker: ^0.4.8
dev_dependencies:
flutter_test:
sdk: flutter
#启用国际化
flutter_localizations:
sdk: flutter
#定义常量
#数组
server:
- aaaaaa
- bbbbbb
- dddddd
#常量
age: 22 # int
boolitem: true #定义一个boolean值
name: 'hello' #定义一个string
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
#添加资源,不单单是图片,images是个和pubspec.yaml配置文件同级的目录,如果不同级,需要添加..
assets:
- images/park.jpg
- images/lake.jpg
- images/touxiang.jpg
# - 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
- family: Trajan Pro
fonts:
- asset: fonts/TrajanPro.ttf
- asset: fonts/TrajanPro_Bold.ttf
weight: 700
2 name:这里应该叫包名。
如果修改了配置文件中的name(flutterdemo ---flutterdemo111),下面对本地文件的引用前的包名都需要修改:import 'package:flutterdemo/FourPage.dart';
import 'package:flutterdemo/TabList.dart';
import 'package:flutterdemo/ThreePage.dart';
import 'package:flutterdemo/two.dart';
2.1 引入图片资源:
assets: //引入图片资源,识别应用程序所需的asset,可以任意文件夹,Flutter将asset放置到称为 asset bundle 的特殊存档中,可以是图片,文本等资源。
- images/park.jpg
- images/lake.jpg
不同尺寸图片资源写法:
…/my_icon.png
…/2.0x/my_icon.png
…/3.0x/my_icon.png
读取文本:
import 'package:flutter/services.dart' show rootBundle;
Future<String> loadAsset() async {
//读取文件是的路径,就是assets下配置的
return await rootBundle.loadString('assets/config.json');
}
2.2 使用图片:
image:
//图片路径的配置
new AssetImage('graphics/background.png'),
2.3 加载依赖包中图片://配置name的作用,需要读取其他外部package下的资源时
new AssetImage('icons/heart.png', package: 'my_icons')
这里顺便说一下更新应用自身图标,只需要按照android,Ios自己的规范进行更新:
3 fonts:支持字体的设置,可以使用自定义字体。
设置方式: fonts:
- family: Schyler
fonts:
- asset: fonts/Schyler-Regular.ttf
- asset: fonts/Schyler-Italic.ttf
style: italic
使用方式:
style: new TextStyle( fontFamily: 'Schyler', fontSize: 24.0, ),
4 启用国际化,materialDesign:
flutter_localizations:
sdk: flutter
flutter:
uses-material-design: true
暂时完结!