flutter_image_picker/lib/src/screens/image_picker_ui.dart

68 lines
2.2 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 11:52:29 +02:00
final double iconSize = 150;
2022-08-31 10:09:36 +02:00
Future<Uint8List?> pickImageDialog(BuildContext context) async {
return await showModalBottomSheet<Uint8List?>(
2022-08-31 10:09:36 +02:00
context: context,
builder: (BuildContext context) {
2022-08-31 11:52:29 +02:00
return Column(mainAxisSize: MainAxisSize.min, children: <Widget>[
const SizedBox(
height: 20,
2022-08-31 10:09:36 +02:00
),
2022-08-31 11:52:29 +02:00
const Text(
"Upload Image",
textScaleFactor: 2,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
IconButton(
icon: const Icon(Icons.image),
tooltip: 'Choose Image From Gallery',
iconSize: iconSize,
onPressed: () => _imagePickerService.pickImage(
ImageSource.gallery, context),
),
const Text("Select file"),
const SizedBox(
height: 20,
),
],
),
Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
IconButton(
icon: const Icon(Icons.camera_alt_rounded),
tooltip: 'Make Image With Camera',
iconSize: iconSize,
onPressed: () => _imagePickerService.pickImage(
ImageSource.camera, context),
),
const Text("Take a picture"),
const SizedBox(
height: 20,
),
],
),
],
),
2022-08-31 11:52:29 +02:00
ElevatedButton(
onPressed: () => Navigator.of(context).pop(),
child: const Text("Close")),
]);
2022-08-31 10:09:36 +02:00
},
);
}
}