flutter - 图像资源在 Web 上加载良好但在移动设备上加载不佳

标签 flutter

我的 Flutter 应用程序有问题。我正尝试在我的 SplashWidget 上加载一个简单的图像,如下所示。

当我执行 flutter run -d chrome 时,图像在 Web (Google Chrome) 上加载得非常好。

现在,当我针对在 Marshmallow (Android 6.0) 上运行的真实 Android 设备(Huawei EVA LO9)进行测试时,出现以下错误:

                    ══╡ EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE
╞════════════════════════════════════════════════════
                    The following assertion was thrown resolving an image codec:
                    Unable to load asset: images/splash_icon.png
                    
                    When the exception was thrown, this was the stack:
                    #0      PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:227:7)
                    <asynchronous suspension>
                    #1      AssetBundleImageProvider._loadAsync
(package:flutter/src/painting/image_provider.dart:667:14)
                    <asynchronous suspension>
                    ...
                    
                    Image provider: AssetImage(bundle: null, name: "images/splash_icon.png")
                    Image key: AssetBundleImageKey(bundle: PlatformAssetBundle#d1d58(), name:
                      "images/splash_icon.png", scale: 1.0)

这是我的 SplashWiget

import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';

class SplashWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      width: double.infinity,
      height: double.infinity,
      decoration: BoxDecoration(color: BrandColors.PRIMARY_COLOR),
      child: Center(
        child: Image(
          image: AssetImage("images/splash_icon.png"),
        ),
      ),
    );
  }
}

这是我的 pubspec.yaml

flutter:
  uses-material-design: true
  assets:
    - assets/

这是我的目录结构的截图
enter image description here

我是否需要执行任何特定于 Android 的配置才能使此图像加载到真正的 Android 设备上。我不敢相信我会在这样一件简单的事情上浪费时间。这让人筋疲力尽。

有人请帮助我。

最佳答案

尝试做这样的事情:

  Container(
    decoration: BoxDecoration(
      image: DecorationImage(
        image: AssetImage("images/splash_icon.png"),
        fit: BoxFit.cover,
      ),
    ),
  )

首先你要看看这是否运行良好,然后应用你的逻辑/风格。

如果这不起作用,请告诉我。

也尝试制作一个 - flutter clean。然后 - flutter run ;)

关于flutter - 图像资源在 Web 上加载良好但在移动设备上加载不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66628200/

相关文章:

google-maps - 如何将HeatMaps添加到Flutter Mobile应用程序

firebase - 数组的元素是固定长度的,而数组本身不是

flutter - 根据 Clean Architecture,将存储库从 main.dart 传递到小部件的正确方法是什么?

javascript - 如何在 flutter 中检索访问 token 值

flutter - Provider vs ValueNotifier Flutter

Firebase 电话身份验证在 Flutter 应用程序中不起作用,无论是在 iOS 模拟器还是在真实设备中

rotation - 在 Flutter 中的 X 上旋转 3D

flutter - 如何为给定类型的Flutter小部件强制某些参数值?

Flutter : Scrolling a ListWheelScrollView, 无法获取选中项的状态

flutter - 使用Dart/Flutter查询包含保存在Cloud Firestore中的ID的 map