pickMedia static method
Future<List<MediaFile> ?>
pickMedia({
- Config? config,
- bool startWithRecent = false,
- bool singleMedia = false,
- Locale? locale,
- PageTransitionType pageTransitionType = PageTransitionType.rightToLeft,
- List<
MediaFile> ? initSelectedMedia, - List<
MediaFile> ? extraRecentMedia, - required BuildContext context,
- GalleryMediaType? mediaType,
Implementation
static Future<List<MediaFile>?> pickMedia({
Config? config,
bool startWithRecent = false,
bool singleMedia = false,
Locale? locale,
PageTransitionType pageTransitionType = PageTransitionType.rightToLeft,
List<MediaFile>? initSelectedMedia,
List<MediaFile>? extraRecentMedia,
required BuildContext context,
GalleryMediaType? mediaType,
}) async {
final resolvedMediaType = mediaType ?? GalleryMediaType.all;
final controller = _getOrCreateController();
List<MediaFile>? media;
controller.configuration(
config,
onSelect: (selectedMedias) {
media = selectedMedias;
},
startWithRecent: startWithRecent,
heroBuilder: null,
multipleMediasBuilder: null,
initSelectedMedias: initSelectedMedia,
extraRecentMedia: extraRecentMedia,
isRecent: startWithRecent,
mediaType: resolvedMediaType,
);
if (!controller.isInitialized) {
unawaited(controller.initializeAlbums(locale: locale));
}
await Navigator.push(
context,
_buildPickerRoute(
pageTransitionType: pageTransitionType,
child: GalleryPickerView(
onSelect: (mediaTmp) {
media = mediaTmp;
},
config: config,
locale: locale,
singleMedia: singleMedia,
initSelectedMedia: initSelectedMedia,
extraRecentMedia: extraRecentMedia,
startWithRecent: startWithRecent,
mediaType: resolvedMediaType,
),
),
);
return media;
}