Flutter 渐进式图片
一个 Flutter 小部件,它使用低质量图片占位符渐进式加载大图片。
特点
-
在目标图片加载之前显示占位符和缩略图。
-
平滑的淡入动画,以防止图片加载时立即弹出。
-
对低分辨率缩略图进行模糊处理,以防止像素化视图。
-
在获取目标图片之前有效解析缩略图,以获得快速的第一印象。
-
在 v2.0.0 中,现在可以在占位符图片而不是占位符小部件中添加占位符了。
安装
以下步骤将帮助您将此库添加为 Flutter 项目的依赖项。
-
在项目根目录的 pubspec.yaml 文件中
dependencies: progressive_image: ^2.0.0 -
运行以下命令获取包
$ flutter packages get -
在您的项目文件中导入包
import 'package:progressive_image/progressive_image.dart';
用法
要更详细地了解如何使用此库,示例目录中有一个很棒的项目,并且您可以在此处找到各种示例。
下面展示了 ProgressiveImage 小部件的一个简单示例用法
import 'package:flutter/material.dart';
import 'package:progressive_image/progressive_image.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Progressive Image Example')),
body: ProgressiveImageExample(),
),
);
}
}
class ProgressiveImageExample extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
child: ProgressiveImage(
placeholder: AssetImage('assets/placeholder.jpg'),
// size: 1.87KB
thumbnail: NetworkImage('https://i.imgur.com/7XL923M.jpg'),
// size: 1.29MB
image: NetworkImage('https://i.imgur.com/xVS07vQ.jpg'),
height: 300,
width: 500,
),
);
}
}