images_cache 1.0.6
images_cache: ^1.0.6 copied to clipboard
Carregar imagens armazenadas no dispositivo [cache] nos componentes[widgets].
import 'dart:io' show File;
import 'dart:ui' as ui;
import 'dart:typed_data' show Uint8List;
import 'package:flutter/material.dart';
import 'package:images_cache/images_cache.dart';
void main() => runApp(const StartApp());
class StartApp extends StatelessWidget {
const StartApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
appBarTheme: AppBarTheme(
backgroundColor: Colors.purple[300],
),
primarySwatch: Colors.blue,
),
home: const HomePage(),
);
}
}
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Material(
child: SafeArea(
child: SingleChildScrollView(
child: Column(
children: [
FutureBuilder<ui.Image>(
future: ImageCacheProvider.image(
'https://image.freepik.com/free-photo/image-human-brain_99433-298.jpg',
duration: const Duration(days: 5),
),
builder: (context, snapshot){
if (!snapshot.hasData || snapshot.data == null) {
return const Text('Imagem...');
}else{
return RawImage(
image: snapshot.data,
);
}
}
),
FutureBuilder<File>(
future: ImageCacheProvider.file(
'https://www.torredevigilancia.com/wp-content/uploads/2019/10/coringa-55.jpg',
duration: const Duration(days: 5),
),
builder: (context, snapshot){
if (!snapshot.hasData || snapshot.data == null) {
return const Text('Imagem...');
}else{
return Image.file(
snapshot.data!,
height: 75,
width: 150,
);
}
}
),
FutureBuilder<Uint8List>(
future: ImageCacheProvider.bytes(
'https://www.talkwalker.com/images/2020/blog-headers/image-analysis.png',
duration: const Duration(days: 5),
),
builder: (context, AsyncSnapshot<Uint8List> snapshot){
if (!snapshot.hasData || snapshot.data == null) {
return const Text('Imagem...');
} else {
return Image.memory(snapshot.data!);
}
}
),
FadeInImage(
placeholder: const AssetImage('assets/flutterLogo.png'),
image: ImageCacheProvider(
url: 'https://i.ytimg.com/vi/fq4N0hgOWzU/maxresdefault.jpg',
duration: const Duration(days: 5),
),
),
Image.asset('assets/flutterLogo.png'),
Image(
image: ImageCacheProvider(
url: 'https://miro.medium.com/max/1200/1*mk1-6aYaf_Bes1E3Imhc0A.jpeg',
duration: const Duration(days: 5),
),
),
Image(
image: ImageCacheProvider(
url: 'https://i.pinimg.com/474x/a3/02/cf/a302cf677769c16544025c73772f205a.jpg',
duration: const Duration(days: 5),
),
),
],
),
),
),
);
}
}