[译]如果在Flutter中添加图片

原文链接:https://stackoverflow.com/questions/50903106/add-image-in-flutter-app

创建assets/images文件夹

  • assets文件夹位于工程的根目录,与pubspec.yaml文件同级。
  • Android Studio中,可以右键单击项目视图。
  • 不需要命名为asstes或者images,甚至不需要把images弄成子文件夹。无论用什么名字,它都必须在pubspec.yaml文件中注册。

新文件夹中添加图片

  • 只需要拷贝图片到assets/images中。例如,lake.jpg的相对路径是assets/images/lake.jpg

pubspec.yaml中注册assets文件夹

  • 打开项目的pubspec.yaml文件。
  • flutter部分添加一个assets子部分,如下:
      flutter:
        assets:
          - assets/images/lake.jpg
    

  • 如果有多个图片需要添加,可以只写路径名(包括最好一个/):
      flutter:
        assets:
          - assets/images/
    

使用图片

  • 使用Image.asset('assets/images/lake.jpg')获取Image小部件中的资源。

  • 完整的main.dart文件如下:


      import 'package:flutter/material.dart';
      
      void main() => runApp(MyApp());
      
      // the root widget of our application
      class MyApp extends StatelessWidget {
        @override
        Widget build(BuildContext context) {
          return MaterialApp(
            home: Scaffold(
              appBar: AppBar(
                title: Text("Image from assets"),
              ),
              body: Image.asset('assets/images/lake.jpg'), //   <--- image here
            ),
          );
        }
      }
    

重启应用

每次修改pubspec.yam文件后,总是需要完全停止应用并重启它,特别是添加assets后。否则会崩溃。
启动应用,效果如下:

进一步阅读

请参阅文档,了解如何为不同像素密度提供备用图像。

你可能感兴趣的:(Android)