今天临时插播一条内容,因为在工作中有小伙伴对Flutter的assets and images有些疑问,查了查文档也不太明白,今天我们就一步一步看看Flutter的assets到底怎么使用。
Flutter应用可以同时包含代码和资产(也称为资源)。资产是与您的应用程序捆绑和部署的文件,可在运行时访问。资产的常见类型包括静态数据(如JSON文件),配置文件,图标和图像(JPEG,WebP,GIF,动画WebP / GIF,PNG,BMP和WBMP)。
指定资产Flutter使用位于项目根目录的pubspec.yaml文件来标识应用程序需要的资产。例如:
flutter: assets: - assets/my_icon.png - assets/background.png
有的同学可能要有疑问了
文件夹的名字是固定的吗?
如果这个文件夹图片特别多怎么办?
问题1:文件夹的名字是可以更改的。
问题2:我们可以设置到目录级别,类似这样。
flutter: assets: - directory/ - directory/subdirectory/
子目录的子目录也需要这样配置,注意要以 ‘/’结尾。
Asset bundling
Flutter中的assets部分都应该在pubspec.yaml文件资产部分中配置。在构建期间,Flutter会将资产放入Asset bundling,应用程序可在运行时从中读取。
Asset variants
构建过程支持资产变体的概念:资产的不同版本可能会在不同的上下文中显示。在pubspec.yaml的资产部分中指定了资产路径后,构建过程将在相邻子目录中查找具有相同名称的所有文件。然后,将这些文件与指定的资产一起包括在Asset bundling中。例如:你的项目中是这样的
.../pubspec.yaml.../graphics/my_icon.png.../graphics/background.png.../graphics/dark/background.png...etc.