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

相关推荐
ujainu9 小时前
Flutter + OpenHarmony 游戏开发进阶:用户输入响应——GestureDetector 实现点击发射
flutter·游戏·openharmony
hudawei9969 小时前
TweenAnimationBuilder和AnimatedBuilder两种动画的比较
flutter·ui·动画·tweenanimation·animatedbuilder
ujainu9 小时前
Flutter + OpenHarmony 实现无限跑酷游戏开发实战—— 对象池化、性能优化与流畅控制
flutter·游戏·性能优化·openharmony·endless runner
ZH154558913110 小时前
Flutter for OpenHarmony Python学习助手实战:自动化脚本开发的实现
python·学习·flutter
晚烛12 小时前
CANN + 物理信息神经网络(PINNs):求解偏微分方程的新范式
javascript·人工智能·flutter·html·零售
一起养小猫12 小时前
Flutter for OpenHarmony 实战:扫雷游戏完整开发指南
flutter·harmonyos
晚烛13 小时前
CANN 赋能智慧医疗:构建合规、高效、可靠的医学影像 AI 推理系统
人工智能·flutter·零售
晚霞的不甘13 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
小哥Mark14 小时前
Flutter开发鸿蒙年味 + 实用实战应用|绿色烟花:电子烟花 + 手持烟花
flutter·华为·harmonyos
一只大侠的侠16 小时前
Flutter开源鸿蒙跨平台训练营 Day 3
flutter·开源·harmonyos