对大多数移动应用来说,图片显示是一项基础功能。Flutter 提供了 Image 来显示不同类型的图片。

使用 Image.network 构造函数来处理来自 URL 的图片。

  1. Image.network(
  2. 'https://picsum.photos/250?image=9',
  3. )

意外之喜:Gif 动画

Image Widget 令人兴奋的特性之一:提供了开箱即用的 gif 动画支持!

  1. Image.network(
  2. 'https://github.com/flutter/plugins/raw/master/packages/video_player/doc/demo_ipod.gif?raw=true',
  3. );

占位符与缓存

默认的 Image.network 构造函数并没有提供诸如加载后的图片淡入或下载之后将图片缓存到设备等更进一步的功能。请参阅以下链接来实现这些功能

完整样例

  1. import 'package:flutter/material.dart';
  2. void main() => runApp(MyApp());
  3. class MyApp extends StatelessWidget {
  4. @override
  5. Widget build(BuildContext context) {
  6. var title = 'Web Images';
  7. return MaterialApp(
  8. title: title,
  9. home: Scaffold(
  10. appBar: AppBar(
  11. title: Text(title),
  12. ),
  13. body: Image.network(
  14. 'https://picsum.photos/250?image=9',
  15. ),
  16. ),
  17. );
  18. }
  19. }

Network Image Demo