Флаттер не будет отображать изображение актива - PullRequest
0 голосов
/ 04 июля 2019

Pubspec.yaml

flutter:
  uses-material-design: true
  assets:
    - lib/images/
    - lib/images/app_logo.png

Main.dart

@override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        decoration: BoxDecoration(
          color: Colors.blueAccent,
          image: DecorationImage(
            image: ExactAssetImage('lib/images/app_logo.png'),
            fit: BoxFit.cover,
          ), //DecorationImage
        ), //BoxDecoration
      ),//Container
    ); //Scaffold
  }

Нет ошибок в приложении вообще, просто ничего не будет отображаться.Никогда не видел этого раньше.Перепробовал всевозможные отступы в pubspec.Попробовал убрать пробел между - и lib / images и заменить на вкладку.

Что дает?

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Код работает отлично, даже внутри папки lib. Позвольте мне поделиться своим кодом

Вот мой pubspec.yaml код

name: nav
description: A new Flutter project.

version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^0.1.2

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:

  uses-material-design: true

  assets:
    - lib/images/
    - lib/images/app_logo.jpg

мой main.dart код

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp( home: Scaffold(
      appBar: AppBar(),
      body: Container(
        height: 200,
        decoration: BoxDecoration(
          color: Colors.blueAccent,
          image: DecorationImage(
            image: ExactAssetImage('lib/images/app_logo.jpg'),
            fit: BoxFit.cover,
          ), //DecorationImage
        ), //BoxDecoration
      ),//Container
    )); //Scaffold
  }
}

Решение, которое вы можете попробовать:

  1. Попробуйте перезапустить приложение с самого начала (не по Shift + R)
  2. Убедитесь, что вы правильно указали интервалы и расширения имен файлов
1 голос
/ 04 июля 2019

Попробуйте удалить изображение из lib, вместо этого поместите изображение в новую папку с названием images (на том же уровне файла lib) измените ваш pubspec.yaml на:

flutter:
  uses-material-design: true
  assets:
    - images/app_logo.png

и в вашем коде

image: ExactAssetImage('images/app_logo.png'),

Я попробовал это, и это сработало отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...