当前位置: 首页 > news >正文

在 Flutter 中使用 flutter_gen 简化图像资产管理

你是否厌倦了在 Flutter 项目中手动管理图像资产的繁琐任务?

告别手工输入资源路径的痛苦,欢迎使用“Flutter Gen”高效资源管理的时代。在本文中,我将带您从手动处理图像资源的挫折到动态生成它们的便利。

选择1:痛苦手动添加–管理图像资产的传统方法 😥

想象一下,你在 Flutter 的世界里 ,创建你很棒的应用程序。你有这些很酷的图片,但问题是,你必须手动输入这些图片的路径。这就像写下美味蛋糕的食谱 ,但有很多机会把配料混在一起或拼错 。这不好玩,对吧?

这是手动向项目添加图像的方法:

  1. 将所需的图片添加到项目中的 assets 文件夹中。
  2. 将图像的路径添加到 pubspec.yaml 文件中。
  3. 直接在代码中输入路径来获取图像。

选择2:为所有资产创建一个常量变量 🤔

让我们创建一个名为 constants.dart 的常量文件,在这个文件中,创建一个名为 Constants 的类,这个类将包含存储资源路径的变量。

在代码中直接使用这个变量来获取图像。

选择3:动态生成资产 🤯🪄

现在,神奇的事情发生了,我们将使用一个包, flutter_gen 一个 flutter 代码生成器,用于我们的资产、字体、颜色等,以生成所需的资产。

将所需的包添加到 pubspec.yaml 文件中

  • 首先,在应用的依赖中添加 flutter_gen
  • 然后,在你的应用的 dev_dependencies 中添加 flutter_gen_runnerbuild_runner
  • 在终端中运行 flutter pub get

生成资产

在终端中运行以下命令来生成所有资源:flutter packages pub run build_runner build。这将创建一个文件夹 lib/gen ,在该文件夹中,将有一个名为 assets.gen.dart 的文件。该文件夹包含所有资产信息!


正如你所看到的,生成的文件有一个变量 dash,它保存了图像的路径。

在代码中直接使用生成的文件来获取图像

import 'package:asset_generation/gen/assets.gen.dart';
import 'package:flutter/material.dart';class Page1 extends StatelessWidget {const Page1({super.key});Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text('Assets'),),body: Center(child:// Image.asset('assets/dash.png'),// Image.asset(Constants.dashImage),Image.asset(Assets.dash.path),),);}
}

可以将其视为拥有一位神奇的厨师 👩🏻‍🍳,他可以随时烹制新菜肴,而无需新食谱。想要向您的应用程序添加新图像吗?没问题——Flutter Gen 为您提供支持。

如果您有兴趣了解有关 flutter_gen 包的更多信息,我建议您查看官方文档:https://pub.dev/packages/flutter_gen。


原文:https://medium.com/flutter-community/streamlining-image-asset-management-b57b7fcb5b9d

http://www.lryc.cn/news/311894.html

相关文章:

  • 两天学会微服务网关Gateway-Gateway过滤器
  • 图像处理 mask掩膜
  • 信驰达ESP32-C3/RTL8720CM WiFi开发板RF-WT01上线
  • 【产品经理方法论——产品的基本概念】
  • 推特API(Twitter API)V2 查询用户信息
  • 在Elasticsearch IK分词器中更新、停用某些专有名词
  • 时钟显示 html JavaScript
  • List<Object>集合对象属性拷贝工具类
  • 请说明Vue中的异步组件加载
  • 目标检测5:采用yolov8, RK3568上推理实时视频流
  • 微服务:Feign篇
  • 基于chatgpt的聊天机器人
  • BAT常见的20道Android面试题详解,我的头条面试经历分享
  • python66-Python的循环之常用工具函数
  • Cocos Creator 3.8.x 制作模糊效果(比如游戏弹窗需要的模糊效果)
  • MATLAB报错:尝试将 SCRIPT imread 作为函数执行
  • 能源管理师:薪资待遇、技能知识与职业发展路景全解析
  • opencart3 添加速卖通商品脚本
  • 【Linux】USB Functionfs编程:libusb接口详解
  • 网络编程,IO多路复用
  • 【ue5】滑铲系统蓝图笔记
  • linux系统Jenkins工具参数化构建
  • 生活里的英语应该【怎么说】
  • Centos安装Jenkins
  • 软考中级系统集成必备100题(71-80)真题精炼
  • visual studio的使用
  • 对于爬虫的学习
  • 【学习笔记】开源计算机视觉库OPENCV学习方案
  • LVS负载均衡集群基础概念
  • pwn学习笔记(5)--格式化字符串漏洞(未完全完成)