photoloader 0.0.5
photoloader: ^0.0.5 copied to clipboard
Photo Loader
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:photoloader/photo.dart';
import 'package:photoloader/photoloader.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
runApp(MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Photo Loader Demo'),
),
body: FutureBuilder(
builder: (c, s) {
var hasPermission = s.data;
if (hasPermission != null && hasPermission) {
return photoList();
} else {
return Center(
child: Text('No Permission'),
);
}
},
future: checkPermission(),
),
),
));
}
FutureBuilder<List<Photo>> photoList() {
return FutureBuilder(
builder: (context, snapshot) {
List<Photo> photos = snapshot.data;
if (photos == null) {
return Center(
child: Text('No Photos'),
);
} else {
return ListView.builder(
itemBuilder: (c, i) {
return ListTile(
title: Text(photos[i].name),
subtitle: Text(photos[i].path),
);
},
itemCount: photos.length,
);
}
},
future: PhotoLoader.photos,
);
}
Future<bool> checkPermission() async {
var isGranted = await Permission.storage.isGranted;
if (!isGranted) {
var status = await Permission.storage.request();
if (status == PermissionStatus.granted) {
return Future.value(true);
} else {
return Future.value(false);
}
}
return Future.value(true);
}