Giter VIP home page Giter VIP logo

giphy_picker's Introduction

giphy_picker

A Flutter package that allows you to pick animated GIF images from Giphy.

Gif

Getting Started

First, you need to register an app at the Giphy Developers Portal in order to retrieve an API key.

Pick a GIF:

import 'package:giphy_picker/giphy_picker.dart';

final gif = await GiphyPicker.pickGif(
                  context: context, 
                  apiKey: '[YOUR GIPHY APIKEY]');

Display a GIF using the GiphyImage widget. The following snippet demonstrates how to render a GIF in its original format:

Widget build(BuildContext context) {
  return GiphyImage.original(gif: gif);
}

Alternatively, load and display the GIF image using the Image widget:

Widget build(BuildContext context) {
  return Image.network(
      gif.images.original.url, 
      headers: {'accept': 'image/*'}))
}

giphy_picker's People

Contributors

adamfuller avatar defuncart avatar diegoveloper avatar itssidhere avatar kozw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

giphy_picker's Issues

Require update

`Because giphy_picker 1.0.8 depends on http ^0.12.0+2 and no versions of giphy_picker match >1.0.8 <2.0.0, giphy_picker ^1.0.8 requires http ^0.12.0+2.

Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.

It would be so awesome if you could just sort this warning that comes up during build:

/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/giphy_picker-2.0.0/lib/src/widgets/giphy_search_view.dart:23:20: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/C:/src/flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback((_) {
                   ^

It's just a matter of removing that question mark after instance...

Checkmark disappeared after 3.0.0

Even adjusting the appBarBuilder does not work. Tested on 3.0.0-3.0.2 and it does not work. We are keeping on our app on 2.0.0.

image version 2.0.0

image version 3.0.0

Preview Images in the GridView are blurred

I saw in the code you are using

final url =
        gif.images.previewGif.url ?? gif.images.fixedWidthSmallStill.url;

Which looks really blurred on high resolution devices, any way to add a new param to view the previews in the grid in a better resolution?

image

15mb demo.gif is packing with assets

Hello folks,

Thank you for making this amazing package. I've found that demo.gif from assets/ directory is packing into release build. What do you think, is it worth considering to exclude this 15mb file? Thank you :)

Display attribution

Hi,
Giphy will require starting on december 1st that all gifs assign proper attribution to the author. Is there an update planned for this plugin to display it in the GiphyImage class or do we have implement it ourselves by making a request to the api to get the author's name?
Thanks

Giphy Emoji is not loading

I am using giphy_picker for my custom GIF keyboard. when I try to load Emojis instead of GIFs and stickers by replacing the baseUri 'v1/stickers/trending' or 'v1/gifs/trending' with v1/emoji, it will display "No data" text. Thank you.

Giphy picker as a dialog

Hey,
Is there a way to use giphy picker as a dialog and not as a new screen?
Setting fullScreenDialog to false doesn't seem to do anything.

BottomSheet

I would like to display the picker as a BottomSheet.
It there a way to do so?

Unable to compile

the new version is unable to compile
version 1.0.1 is working fine

Compiler message:
../../development/flutter/.pub-cache/hosted/pub.dartlang.org/giphy_picker-1.0.2/lib/src/widgets/giphy_context.dart:40:10: Error: The method 'getElementForInheritedWidgetOfExactType' isn't defined for the class 'BuildContext'.

  • 'BuildContext' is from 'package:flutter/src/widgets/framework.dart' ('../../development/flutter/packages/flutter/lib/src/widgets/framework.dart').
    Try correcting the name to the name of an existing method, or defining a method named 'getElementForInheritedWidgetOfExactType'.
    .getElementForInheritedWidgetOfExactType()

LabelText Color

Hello, How can I change the label text color? We create an application in black, so that the text entered in the field is invisible to the user. Changing ThemeData does not affect the color on the form. Any ideas?

Example of ThemeData:

ThemeData(
        primaryColor: Color.fromRGBO(26, 30, 37, 1.0),
        backgroundColor: Color.fromRGBO(26, 30, 37, 1.0),
        textTheme: TextTheme(
          headline1: TextStyle(color: Colors.white),
          headline6: TextStyle(color: Colors.white),
          bodyText2: TextStyle(color: Colors.white),
        ),
        inputDecorationTheme: InputDecorationTheme(
          fillColor: Colors.white,
          focusColor: Colors.white,
          hoverColor: Colors.white,
          hintStyle: TextStyle(
            color: Color.fromRGBO(183, 192, 182, 1.0)
          ),
          counterStyle: TextStyle(
            color: Color.fromRGBO(183, 192, 182, 1.0)
          ),
          labelStyle: TextStyle(
            color: Color.fromRGBO(183, 192, 182, 1.0)
          ),
          contentPadding: new EdgeInsets.symmetric(vertical: 0.0),
        ),
        cursorColor: Colors.white,
        indicatorColor: Colors.white,
        focusColor: Colors.white,
        fontFamily: 'Avenir',
        scaffoldBackgroundColor: Colors.black,
        pageTransitionsTheme: PageTransitionsTheme(
          builders: {
            TargetPlatform.android: CupertinoPageTransitionsBuilder(),
            TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
          }
        )
      ),

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.