pickGif static method
Future<GiphyGif?>
pickGif({
- required BuildContext context,
- required String apiKey,
- String rating = GiphyRating.g,
- String lang = GiphyLanguage.english,
- bool sticker = false,
- Widget? title,
- ErrorListener? onError,
- bool showPreviewPage = true,
- bool showGiphyAttribution = true,
- bool fullScreenDialog = true,
- String searchHintText = 'Search GIPHY',
- GiphyPreviewType previewType = GiphyPreviewType.previewWebp,
- SearchTextBuilder? searchTextBuilder,
- AppBarBuilder? appBarBuilder,
- WidgetBuilder? loadingBuilder,
- ResultsBuilder? resultsBuilder,
- WidgetBuilder? noResultsBuilder,
- SearchErrorBuilder? errorBuilder,
Renders a full screen modal dialog for searching, and selecting a Giphy image.
Implementation
static Future<GiphyGif?> pickGif({
required BuildContext context,
required String apiKey,
String rating = GiphyRating.g,
String lang = GiphyLanguage.english,
bool sticker = false,
Widget? title,
ErrorListener? onError,
bool showPreviewPage = true,
bool showGiphyAttribution = true,
bool fullScreenDialog = true,
String searchHintText = 'Search GIPHY',
GiphyPreviewType previewType = GiphyPreviewType.previewWebp,
SearchTextBuilder? searchTextBuilder,
AppBarBuilder? appBarBuilder,
WidgetBuilder? loadingBuilder,
ResultsBuilder? resultsBuilder,
WidgetBuilder? noResultsBuilder,
SearchErrorBuilder? errorBuilder,
}) async {
GiphyGif? result;
await Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) => GiphyContext(
previewType: previewType,
apiKey: apiKey,
rating: rating,
language: lang,
sticker: sticker,
onError: onError ?? (error) => _showErrorDialog(context, error),
onSelected: (gif) {
result = gif;
// pop preview page if necessary
if (showPreviewPage) {
Navigator.pop(context);
}
// pop giphy_picker
Navigator.pop(context);
},
showPreviewPage: showPreviewPage,
showGiphyAttribution: showGiphyAttribution,
searchHintText: searchHintText,
searchTextBuilder: searchTextBuilder,
appBarBuilder: appBarBuilder,
loadingBuilder: loadingBuilder,
resultsBuilder: resultsBuilder,
noResultsBuilder: noResultsBuilder,
errorBuilder: errorBuilder,
child: GiphySearchPage(
title: title,
),
),
fullscreenDialog: fullScreenDialog,
),
);
return result;
}