Flutter框架跨平台鸿蒙开发——资源图片加载

一、资源图片配置

AssetImage用于加载打包在应用中的图片资源。

配置步骤

创建assets目录
放置图片文件
配置pubspec.yaml
使用Image.asset

1. 创建目录结构

复制代码
assets/
  ├── images/
  │   ├── logo.png
  │   └── background.jpg
  └── icons/
      ├── icon.png
      └── avatar.png

2. 配置pubspec.yaml

yaml 复制代码
flutter:
  assets:
    - assets/images/
    - assets/icons/

二、基础用法

加载单个图片

dart 复制代码
Image.asset('assets/images/logo.png')

设置尺寸和样式

dart 复制代码
Image.asset(
  'assets/images/background.jpg',
  width: double.infinity,
  height: 200,
  fit: BoxFit.cover,
)

三、多分辨率支持

创建不同分辨率

复制代码
assets/
  └── images/
      ├── 2.0x/
      │   └── logo.png
      ├── 3.0x/
      │   └── logo.png
      └── logo.png

自动选择分辨率

dart 复制代码
Image.asset('assets/images/logo.png')
// 会自动根据设备DPI选择合适的分辨率

四、完整示例

dart 复制代码
class AssetImageExample extends StatelessWidget {
  const AssetImageExample({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('资源图片')),
      body: ListView(
        padding: EdgeInsets.all(16),
        children: [
          Card(
            child: Column(
              children: [
                Text('Logo图片'),
                Image.asset('assets/images/logo.png', width: 100),
              ],
            ),
          ),
          SizedBox(height: 16),
          Card(
            child: Column(
              children: [
                Text('背景图片'),
                Image.asset(
                  'assets/images/background.jpg',
                  width: double.infinity,
                  height: 200,
                  fit: BoxFit.cover,
                ),
              ],
            ),
          ),
        ],
      ),
    );
  }
}

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net

相关推荐
恋猫de小郭5 小时前
Android 17 + OkHttp 5.5.0 ,全新 ECH 下你的 HTTPS 域名可以请求时被安全隐藏
android·前端·flutter
「、皓子~1 天前
海狸IM 2.1 正式发布
flutter·微服务·golang·electron·开源软件·im·海狸im
里欧跑得慢2 天前
AI 驱动的 UI 国际化方案自动适配:从单一语言到多语言布局的智能转换
前端·css·flutter·web
恋猫de小郭2 天前
AI 时代,一个优化 Flutter 的重复代码工具 Deslop
android·前端·flutter
ljt27249606613 天前
Flutter笔记--envied
前端·笔记·flutter
加农炮手Jinx3 天前
Flutter for OpenHarmony 实战:flutter_animate 声明式动画让 UI 灵动如原生
flutter·ui·华为·harmonyos·鸿蒙
里欧跑得慢3 天前
Flutter 像素级还原:设计稿到代码的视觉无损转换技巧
前端·css·flutter·web
里欧跑得慢3 天前
Flutter 三方库 function_tree — 鸿蒙应用开发中的动态数学公式解析与计算神器,实现鸿蒙深度适配下的复杂函数逻辑运行时求值实战(适配鸿蒙 HarmonyOS Next ohos)
android·前端·安全·flutter·华为·harmonyos
吃西瓜的年年4 天前
vue3原理思维导图
vue.js·笔记·flutter