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小郭2 天前
Amper 正式转正 Kotlin Toolchain ,Gradle 未来何去何从
android·前端·flutter
张风捷特烈2 天前
Flutter 类库大揭秘#02 | path_provider 各平台实现
前端·flutter
TT_Close3 天前
别劝退了!5秒搞定 Flutter 鸿蒙 FVM 起跑线
flutter·harmonyos·visual studio code
你听得到113 天前
用户说 App 卡,但说不清在哪?我把 Flutter 监控 SDK 升级成了链路观测工作台
前端·flutter·性能优化
stringwu5 天前
Flutter 开发必备:MVI 架构的高效实现指南
前端·flutter
程序员老刘5 天前
Flutter版本选择指南:3.44系列继续观望 | 2026年6月
flutter·ai编程·客户端
用户965597361907 天前
Provider vs Bloc vs GetX vs Riverpod:Flutter 状态管理方案怎么选?
flutter
恋猫de小郭7 天前
Flutter Patchwork,不用 Fork 改依赖包源码的第三方工具
android·前端·flutter
程序员老刘7 天前
跑分第一的编程大模型,我为啥不用?
flutter·ai编程·vibecoding
恋猫de小郭8 天前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter