added optional parameters

This commit is contained in:
commitimpush 2022-08-31 13:49:25 +02:00
parent c2c73819c6
commit 1f2af6b0b2
3 changed files with 34 additions and 9 deletions

View file

@ -2,9 +2,17 @@ import 'dart:typed_data';
import 'package:flutter/cupertino.dart';
import 'src/screens/image_picker_ui.dart';
import 'src/models/image_picker_settings.dart';
class ImagePicker {
Future<Uint8List?> showPickImageDialog(BuildContext context) {
return ImagePickerUI().pickImageDialog(context);
Future<Uint8List?> showPickImageDialog(BuildContext context,
{String title = ImagePickerSettings.title,
String makePhotoText = ImagePickerSettings.makePhotoText,
IconData makePhotoIcon = ImagePickerSettings.makePhotoIcon,
String selectImageText = ImagePickerSettings.selectImageText,
IconData selectImageIcon = ImagePickerSettings.selectImageIcon,
String closeButtonText = ImagePickerSettings.closeButtonText}) {
return ImagePickerUI().pickImageDialog(context, title, makePhotoText,
makePhotoIcon, selectImageText, selectImageIcon, closeButtonText);
}
}

View file

@ -0,0 +1,10 @@
import 'package:flutter/material.dart';
class ImagePickerSettings {
static const String title = "Upload Image";
static const String makePhotoText = "Take a Picture";
static const IconData makePhotoIcon = Icons.camera_alt_rounded;
static const String selectImageText = "Select File";
static const IconData selectImageIcon = Icons.image;
static const String closeButtonText = "Close";
}

View file

@ -8,7 +8,14 @@ class ImagePickerUI {
final ImagePickerService _imagePickerService = ImagePickerService();
final double iconSize = 150;
Future<Uint8List?> pickImageDialog(BuildContext context) async {
Future<Uint8List?> pickImageDialog(
BuildContext context,
String title,
String makePhotoText,
IconData makePhotoIcon,
String selectImageText,
IconData selectImageIcon,
String closeButtonText) async {
return await showModalBottomSheet<Uint8List?>(
context: context,
builder: (BuildContext context) {
@ -16,22 +23,22 @@ class ImagePickerUI {
const SizedBox(
height: 20,
),
const Text(
"Upload Image",
Text(
title,
textScaleFactor: 2,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
generateColumn(context, selectImageIcon, ImageSource.gallery,
selectImageText),
generateColumn(
context, Icons.image, ImageSource.gallery, "Select File"),
generateColumn(context, Icons.camera_alt_rounded,
ImageSource.camera, "Take a picture"),
context, makePhotoIcon, ImageSource.camera, makePhotoText),
],
),
ElevatedButton(
onPressed: () => Navigator.of(context).pop(),
child: const Text("Close")),
child: Text(closeButtonText)),
]);
},
);