Изображение не отображается, несмотря на то, что оно установлено в flutter

#flutter #dart #flutter-layout

#flutter #dart #flutter-layout

Вопрос:

У меня есть следующая настройка для отображения трех столбцов, средний столбец содержит изображение, которое, насколько мне известно, было правильно настроено:

 class StartScreen extends StatelessWidget {
  const StartScreen({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.white,
      body: Container(
        child: Padding(
          padding: EdgeInsets.only(top: 30, left: 24, right: 24),
          child: Column(
            children: <Widget>[
              Expanded(
                flex: 1,
                child: DropdownRow(),
              ),
              Expanded(
                  flex: 8,
                  child: Image.asset(
                    'assets/images/home_icon.png',
                    height: MediaQuery.of(context).size.height,
                    width: MediaQuery.of(context).size.width,
                  )),
              Expanded(
                flex: 2,
                child: Padding(
                  padding: const EdgeInsets.only(top: 13.0),
                  child: RichText(
                    text: TextSpan(
                        text: "I am a", style: Styles.h4BlackTextStyle),
                  ),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
 

Я также настроил pubspec.yml следующим образом. Отступ также правильный:

    assets:
    - assets/images
 

введите описание изображения здесь

Наконец, у меня есть изображение внутри папки images в assets следующим образом:

введите описание изображения здесь

Но при такой настройке изображение не отображается в самом приложении, см. Ниже:

введите описание изображения здесь

Комментарии:

1. Привет, они отображаются, когда вы устанавливаете ширину и высоту изображения просто на 100?

Ответ №1:

Я только что понял, что Flutter кэшировал мои сборки, после выполнения следующей команды, а затем выполнения новой сборки появляется изображение.

очистка flutter

По-видимому, для внесения изменений в файл pubspec.yml требуется чистая сборка, когда изменения не отражают

Ответ №2:

в pubspec.yaml assets: - assets/images

чтобы assets: - assets/images/ опубликовать, затем остановите приложение, а затем запустите