大家好,
目前我正在使用 Android Studio 做我的第一个 Flutter 项目。
一切都很顺利,直到我尝试将图像加载到我的应用程序中,它从未显示在模拟器上。
我尝试了几个步骤来解决这个问题。
资产:
我确实跑了
Flutter Clean
我确实跑了
flutter pub outdated
毕竟它仍然无法正常工作,我确保我的图像文件夹位于正确的位置。
import 'package:flutter/material.dart';
class StartPage extends StatelessWidget {
const StartPage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Color.fromARGB(255,215,165,187),
body: SafeArea(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(children: [Text("JAPAN JOURNEY",
style: TextStyle(
fontSize: 38,
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
Image.asset("lib/images/japanflag.png", height: 30,)
],
)
我希望有人能帮助我:D,谢谢。
解决方案1: 如果您添加了图像并且没有停止该应用程序, 尝试停止应用程序并再次构建它,这可以解决问题。 如果不起作用,请尝试解决方案 2。
解决方案2
在根项目中创建一个
assets
文件夹。
在其中创建一个 images
文件夹,然后放入您的 japanflag.png
图像。
在您的
pubspec.yaml
内确保有:
assets:
- assets/images/
然后在终端中执行
flutter pub get
。
然后显示您的图像,例如:
Image.asset("assets/images/japanflag.png", height: 30,)
停止并构建应用程序,图像应该会显示。
我会按照 flutter 方式为所有资源创建一个资源文件夹。
但就您而言,您还应该将 lib 和 lib/images 添加到您的资产中。
来自文档:
仅包含直接位于目录中的文件。 分辨率感知的资产图像变体是唯一的例外。加上 位于子目录中的文件,为每个目录创建一个条目。
您应该在 pubspec.yaml 文件中针对该场景指定您的资产。
assets:
- lib/images/
- create assets folder in your root directory and past japanflag.png image inside
assets folder.
assets:
- assets/japanflag.png
- then run flutter pub get command in your terminal
flutter pub get
- view image
Image.asset("lib/images/japanflag.png", height: 30,)
- after stop your project and rebuild your project.
- if some case your image is not loaded just restart your android studio and run
it.