flutter_image_picker/lib/src/screens/image_picker_ui.dart

48 lines
1.5 KiB
Dart
Raw Normal View History

2022-08-31 10:09:36 +02:00
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:flutter_image_picker/src/services/image_picker_service.dart';
2022-08-31 10:09:36 +02:00
import 'package:image_picker/image_picker.dart';
class ImagePickerUI {
final ImagePickerService _imagePickerService = ImagePickerService();
2022-08-31 10:09:36 +02:00
Future<Uint8List?> pickImageDialog(BuildContext context) async {
return await showDialog<Uint8List?>(
context: context,
barrierDismissible: true,
builder: (BuildContext context) {
return AlertDialog(
title: const Text('Image Picker'),
content: SingleChildScrollView(
child: ListBody(
children: const <Widget>[
Text(
'Do you want to choose an existing image or make a new picture with the camera?'),
],
),
),
actions: <Widget>[
ElevatedButton(
onPressed: () =>
_imagePickerService.pickImage(ImageSource.gallery, context),
2022-08-31 10:09:36 +02:00
child: const Text('Pick image from Gallery'),
),
ElevatedButton(
onPressed: () =>
_imagePickerService.pickImage(ImageSource.camera, context),
2022-08-31 10:09:36 +02:00
child: const Text('Make picture with Camera'),
),
TextButton(
child: const Text('Close Dialog'),
onPressed: () async {
Navigator.of(context).pop();
},
),
],
);
},
);
}
}