diff --git a/README.md b/README.md index 122dae1..1031f43 100644 --- a/README.md +++ b/README.md @@ -16,21 +16,29 @@ Flutter Image Picker is a package you can use to implement an Image Picker in yo ## Features -TODO: List what your package can do. Maybe include images, gifs, or videos. - -## Getting started - -TODO: List prerequisites and provide or point to information on how to -start using the package. +With the Flutter Image Picker you can select an existing picture from the gallery or make a picture with the camera to use in your app. ## Usage -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. +To use this package, add `flutter_image_picker` as a [dependency in your pubspec.yaml file](https://flutter.dev/docs/development/platform-integration/platform-channels). -```dart -const like = 'sample'; -``` +## Example + +See [Example Code](example/lib/main.dart) for an example on how to use this package. + +You can add optional parameters to the `showImagePickerDialog(context)` function call. These are: +| Parameter | Explaination | +|-------------------|---------------| +| title | left-aligned | +| titleTextSize | centered | +| iconSize | right-aligned | +| iconTextSize | right-aligned | +| spaceBetweenIcons | right-aligned | +| makePhotoText | right-aligned | +| makePhotoIcon | right-aligned | +| selectImageText | right-aligned | +| selectImageIcon | right-aligned | +| closeButtonText | right-aligned | ## Additional information diff --git a/example/lib/main.dart b/example/lib/main.dart index 7874455..0edf609 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -14,7 +14,7 @@ class ImagePickerExample extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( - title: 'Flutter Demo', + title: 'Flutter Image Picker Example', theme: ThemeData( primarySwatch: Colors.blue, ), @@ -38,9 +38,9 @@ class ImagePickerExampleHomePage extends StatefulWidget { class _ImagePickerExampleHomePageState extends State { Uint8List? image; - ImagePicker imagePicker = ImagePicker(); - double whiteSpace = 20; - double imageWidth = 300; + final ImagePicker imagePicker = ImagePicker(); + final double whiteSpace = 20; + final double imageWidth = 300; @override Widget build(BuildContext context) { @@ -84,7 +84,7 @@ class _ImagePickerExampleHomePageState } void pickImage() async { - Uint8List? imageInBytes = await imagePicker.showPickImageDialog(context); + Uint8List? imageInBytes = await imagePicker.showImagePickerDialog(context); if (imageInBytes != null) { if (!listEquals(image, imageInBytes)) { setState(() { diff --git a/example/test/main_test.dart b/example/test/main_test.dart new file mode 100644 index 0000000..e69de29 diff --git a/lib/image_picker.dart b/lib/image_picker.dart index d4aff79..93fa9bc 100644 --- a/lib/image_picker.dart +++ b/lib/image_picker.dart @@ -1,11 +1,11 @@ import 'dart:typed_data'; import 'package:flutter/cupertino.dart'; -import 'src/screens/image_picker_ui.dart'; import 'src/models/image_picker_settings.dart'; +import 'src/ui/image_picker_ui.dart'; class ImagePicker { - Future showPickImageDialog(BuildContext context, + Future showImagePickerDialog(BuildContext context, {String title = ImagePickerDefaultParameters.title, double titleTextSize = ImagePickerDefaultParameters.titleTextSize, double iconSize = ImagePickerDefaultParameters.iconSize, diff --git a/lib/src/screens/image_picker_ui.dart b/lib/src/ui/image_picker_ui.dart similarity index 81% rename from lib/src/screens/image_picker_ui.dart rename to lib/src/ui/image_picker_ui.dart index 5dc0bf5..1a24300 100644 --- a/lib/src/screens/image_picker_ui.dart +++ b/lib/src/ui/image_picker_ui.dart @@ -35,13 +35,13 @@ class ImagePickerUI { Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - generateColumn(context, selectImageIcon, iconSize, iconTextSize, - ImageSource.gallery, selectImageText), + generateIconButtonWithText(context, selectImageIcon, iconSize, + iconTextSize, ImageSource.gallery, selectImageText), SizedBox( width: spaceBetweenIcons, ), - generateColumn(context, makePhotoIcon, iconSize, iconTextSize, - ImageSource.camera, makePhotoText), + generateIconButtonWithText(context, makePhotoIcon, iconSize, + iconTextSize, ImageSource.camera, makePhotoText), ], ), Row( @@ -65,8 +65,13 @@ class ImagePickerUI { ); } - Column generateColumn(BuildContext context, IconData icon, double iconSize, - double iconTextSize, ImageSource imageSource, String bottomText) { + Column generateIconButtonWithText( + BuildContext context, + IconData icon, + double iconSize, + double iconTextSize, + ImageSource imageSource, + String bottomText) { return Column( mainAxisSize: MainAxisSize.min, children: [ diff --git a/test/image_picker_test.dart b/test/image_picker_test.dart new file mode 100644 index 0000000..e69de29 diff --git a/test/src/models/image_picker_settings_test.dart b/test/src/models/image_picker_settings_test.dart new file mode 100644 index 0000000..e69de29 diff --git a/test/src/services/image_picker_service_test.dart b/test/src/services/image_picker_service_test.dart new file mode 100644 index 0000000..e69de29 diff --git a/test/src/ui/image_picker_ui_test.dart b/test/src/ui/image_picker_ui_test.dart new file mode 100644 index 0000000..e69de29