giphy_get

Creator: coderz1093

Last updated:

Add to Cart

Description:

giphy get

giphy_get #




Overview #
This package allow to get gifs, sticker or emojis from GIPHY in pure dart code using Giphy SDK design guidelines.
Inspiration #

Result #

Getting Started #
Important! you must register your app at Giphy Develepers and get your APIKEY
Localizations #
Currently english and spanish is supported.
return MaterialApp(
title: 'Giphy Get Demo',
localizationsDelegates: [
// Default Delegates
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,

// Add this line
GiphyGetUILocalizations.delegate
],
supportedLocales: [
// Your supported languages
Locale('en', ''),
Locale('es', ''),
Locale('da', ''),
],
home: MyHomePage(title: 'Giphy Get Demo'),
themeMode: Provider.of<ThemeProvider>(context).currentTheme,
);
copied to clipboard
Get only Gif #
This is for get gif without wrapper and tap to more
import 'package:giphy_get/giphy_get.dart';

GiphyGif gif = await GiphyGet.getGif(
context: context, //Required
apiKey: "your api key HERE", //Required.
lang: GiphyLanguage.english, //Optional - Language for query.
randomID: "abcd", // Optional - An ID/proxy for a specific user.
tabColor:Colors.teal, // Optional- default accent color.
debounceTimeInMilliseconds: 350, // Optional- time to pause between search keystrokes
);
copied to clipboard
Options #



Value
Type
Description
Default




lang
String
Use ISO 639-1 language code or use GiphyLanguage constants
GiphyLanguage.english


randomID
String
An ID/proxy for a specific user.
null


searchText
String
Input search hint, we recomend use flutter_18n package for translation
"Search GIPHY"


tabColor
Color
Color for tabs and loading progress,
Theme.of(context).accentColor


debounceTimeInMilliseconds
int
Time to pause between search keystrokes
350


showGIFs
bool
Whether to show the GIFs tab or not
true


showStickers
bool
Whether to show the stickers tab or not
true


showEmojis
bool
Whether to show the emojis tab or not
true


tapTopBuilder
Widget Function(BuildContext context)
A custom builder for tab top. Must return a widget that will replace default Giphy-like tab top
null. Displays default Giphy-like tab top


tabBottomBuilder
Widget Function(BuildContext context)
A custom builder for tab bottom. Must return a widget that will replace default Giphy credits logo. Note that credits are required to be shown by Giphy
null. Displays default Giphy credits logo


searchAppBarBuilder
Widget Function(BuildContext context,FocusNode focusNode,bool autofocus,TextEditingController textEditingController,void Function() onClearSearch)
A custom builder for search app bar. Must return a widget that will replace default Giphy-like search bar input
null. Displays default Giphy-like search bar input



Get Random ID #
GiphyClient giphyClient = GiphyClient(apiKey: "YOUR API KEY");
String randomId = await giphyClient.getRandomId();
copied to clipboard
Widgets #
Optional but this widget is required if you get more gif's of user or view on Giphy following Giphy Design guidelines

GiphyGifWidget #
Params



Value
Type
Description
Default




gif required
GiphyGif
GiphyGif object from stream or JSON
null


giphyGetWrapper required
GiphyGetWrapper
instance required for tap to more
null


showGiphyLabel
boolean
show or hide Powered by GIPHYlabel at bottom
true


borderRadius
BorderRadius ex: BorderRadius.circular(10)
add border radius to image
null


imageAlignment
Alignment
this widget is a STACK with Image and tap buttons this property adjust alignment
Alignment.center



GiphyGetWrapper #
Params



Value
Type
Description
Default




giphy_api_key required
String
Your Giphy API KEY
null


builder
function
return Stream<GiphyGif> and Instance of GiphyGetWrapper
null



Methods #
void getGif(String queryText,BuildContext context)
return GiphyGetWrapper(
giphy_api_key: REPLACE_WITH YOUR_API_KEY,
// Builder with Stream<GiphyGif> and Instance of GiphyGetWrapper
builder: (stream, giphyGetWrapper) => StreamBuilder<GiphyGif>(
stream: stream,
builder: (context, snapshot) {
return Scaffold(
body: snapshot.hasData
? SizedBox(
// GiphyGifWidget with tap to more
child: GiphyGifWidget(
imageAlignment: Alignment.center,
gif: snapshot.data,
giphyGetWrapper: giphyGetWrapper,
borderRadius: BorderRadius.circular(30),
showGiphyLabel: true,
),
)
: Text("No GIF"),
floatingActionButton: FloatingActionButton(
onPressed: () async {
//Open Giphy Sheet
giphyGetWrapper.getGif('', context);
},
tooltip: 'Open Sticker',
child: Icon(Icons
.insert_emoticon)),
);
})

});

copied to clipboard
Example APP #
First export your giphy api key
export GIPHY_API_KEY=YOUR_GIPHY_API_KEY
copied to clipboard
and ther run.
Contrib #
Feel free to make any PR's

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.