menefrego
menefrego

Reputation: 115

Flutter: unable to load PNG asset

I need to use some density specific images in my flutter app, but unfortunately I faced with a problem while loading them.

I created several density specific directories for storing images according to official docs https://flutter.dev/docs/development/ui/assets-and-images, edited pubscpec.yaml and wrote some code.

Assets:

/assets
  /images
   /1.0x
     /qr_logo.png
   /1.5x
     /qr_logo.png
   /2.0x
     /qr_logo.png
   /3.0x
     /qr_logo.png
   /4.0x
     /qr_logo.png

pubspec.yaml:

flutter:
  uses-material-design: true

  assets:
    - assets/images/
    - assets/strings/uk.json
    - assets/strings/ru.json

code:

GestureDetector(
     child: Container(
              width:120,
              height: 40,
              decoration: BoxDecoration(
                           color: Colors.black,
                           image: DecorationImage(
                               image:AssetImage('assets/images/qr_logo.png'),
                               fit:BoxFit.cover
                           ),
                       )
                   ),onTap:(){
                 print("CLICKED!");
               })

This results in: he following assertion was thrown resolving an image codec: Unable to load asset: assets/images/qr_logo.png

When the exception was thrown, this was the stack:

0 PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:221:7)

1 AssetBundleImageProvider._loadAsync (package:flutter/src/painting/image_provider.dart:464:44)

2 AssetBundleImageProvider.load (package:flutter/src/painting/image_provider.dart:449:14) ...

Image provider: AssetImage(bundle: null, name: "assets/images/qr_logo.png") Image key: AssetBundleImageKey(bundle: PlatformAssetBundle#5e64b(), name: "assets/images/qr_logo.png", scale: 1.0)

Upvotes: 0

Views: 1003

Answers (1)

Omatt
Omatt

Reputation: 10453

You need to also set qr_logo.png in /assets/images as baseline for resolution-aware image assets.

Upvotes: 0

Related Questions