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

所属分类: 软件编程 / Android 阅读数: 104
收藏 0 赞 0 分享

在 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,
 )
 

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

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多