欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

你必须掌握在Flutter中添加资源文件的方法

程序员文章站 2022-06-09 14:34:27
在 flutter 中,需要在根目录下的 pubspec.yaml 文件中配置资源的路径,资源才能被打包使用。现在,看看如何配置资源吧。 1. 添加图片资源文件 1.1...

在 flutter 中,需要在根目录下的 pubspec.yaml 文件中配置资源的路径,资源才能被打包使用。现在,看看如何配置资源吧。

1. 添加图片资源文件

1.1 添加本地图片资源

flutter:  
assets:
    // 表示引入根目录下的 images 文件夹下的所有资源文件
    - images/
    // 只添加 images/ 下的 pci.png
    - images/pci.png

注意缩进!本地文件夹内的资源可以选择导入整个文件夹,或者只导入指定文件。使用:image.asset("images/pic.png")

1.2 添加依赖插件图片资源

1.添加依赖插件

在 pubspec.yaml 文件的 dependencies 下添加依赖插件。

dependencies:
    flutter_gallery_assets: 0.1.6

注意缩进!

2.注册依赖插件中的资源同样需要在 pubspec.yaml 文件的 flutter 下的 assets 下添加所要用到的依赖插件中的图片路径。

flutter:
  assets:
    - packages/flutter_gallery_assets/places/india_chennai_flower_market.png

packages 后跟插件的名称,图片需要插件包中的完整路径。

这种情况不能一次性注册一个文件夹的图片了,只能一张图一张图的添加。

3.使用

child: image.asset(
 // 图片路径
 'places/india_chennai_flower_market.png',
 // 包名
 package: 'flutter_gallery_assets',
),

在使用第三方库资源的时候,需要加上包名。

1.3 分辨率相关的资源

flutter 支持根据设备分辨率自动选择合适分辨率的图片资源,但资源需要按照以下规则添加:

../image.png
../1.0x/image.png
../2.0x/image.png

使用:

assetimage('../image.png')

只需要使用默认的图即可,assetimage 会根据设备分辨率自动选择合适大小的图标。

2.添加字体资源

字体资源的添加格式如下,同样是在 pubspec.yaml中:

flutter:
  fonts:
   // 一组字体的名称
   - family: schyler
    fonts:
     // 组内包哈的字体资源文件,第一个是默认字体
     - asset: fonts/schyler-regular.ttf
     - asset: fonts/schyler-italic.ttf
      // 定义该字体的style
      style: italic
   // 一组字体的名称
   - family: trajan pro
    fonts:
     - asset: fonts/trajanpro.ttf
     - asset: fonts/trajanpro_bold.ttf
      weight: 700
   // 一组字体的名称
   - family: raleway
    fonts:
     - asset: packages/flutter_gallery_assets/fonts/raleway/raleway-regular.ttf
     - asset: packages/flutter_gallery_assets/fonts/raleway/raleway-medium.ttf
      weight: 500
     - asset: packages/flutter_gallery_assets/fonts/raleway/raleway-semibold.ttf
      weight: 600

使用字体:

textstyle(
  // 字体组名称
  fontfamily: 'raleway',
  inherit: false,
  fontsize: 24.0,
  // 根据 weight 选择具体的字体
  fontweight: fontweight.w500,
  color: colors.white,
  textbaseline: textbaseline.alphabetic,
 )
 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。