• Stars
    star
    273
  • Rank 146,346 (Top 3 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 7 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An advance Emoticons & GIF keyboard.

EmoticonGIFKeyboard

Build Status Download API Javadoc Androidweekly AndroidDev Digest Android Arsenal

πŸ™Œ An advance Emoticons & GIF keyboard. πŸ™Œ

EmoticonGIFKeyboard is an easy to integrate, customizable and lightweight library to add support for emojis and GIFs.

Features:

  • Highly customizable.
  • Extremely lightweight πŸ‹. You only have to add the icon packs you want to use by adding extra dependency, so you don't have to add emoticon icons you don't want to use.
  • ❀ for Emoticons
    • More than 1400 emoticons. This library includes all the emoticons listed under Emoticons 6.0 standards.
    • 6 emoticons categories.
    • πŸ” Search emoticons by their name or meaning.
    • Add you favourite emoticons icon theme (e.g ios, google, samsung emoticons) by adding readily available 13 different emoticon icon packs.
  • ❀ for GIFs
    • Displays trending GIFs for batter suggestion.
    • πŸ” Search GIFs based on the content and meaning.
    • Select your favourite GIF provider (e.g. Giphy, Tenor) by adding available GIF packs.
  • Custom widgets (e.g. EmoticonTextView, EmoticonEditText and EmoticonButton) to render custom emoticon icons throughout application.
  • Easily disable emoticons or GIF functionality if you don't want.

How to import this library?

  • Gradle Dependency:

    • Add below lines to app/build.gradle file of your project.
    dependencies {
        compile 'com.kevalpatel2106:emoticongifkeyboard:1.1'
    }
  • To integrate using maven visit this page.

How to use this EmoticonGIFKeyboard?

  • Prepare emoticons configuration.

    • Create EmoticonConfig to configure emoticons.
    • Set the custom emoticon icon provider using EmoticonConfig#setEmoticonProvider(). If you don't set any icon provider here, library will render system emoticons. You can pic custom emoticon icons from here.
    • Set the EmoticonSelectListener using EmoticonConfig#setEmoticonSelectListener(). This will notify you when user selects any emoticon from list or user preses back button.
    EmoticonGIFKeyboardFragment.EmoticonConfig emoticonConfig = new EmoticonGIFKeyboardFragment.EmoticonConfig()
            .setEmoticonProvider(IosEmoticonProvider.create())
            /*
              NOTE: The process of removing last character when user preses back space will handle
              by library if your edit text is in focus.
             */
            .setEmoticonSelectListener(new EmoticonSelectListener() {
    
                @Override
                public void emoticonSelected(Emoticon emoticon) {
                    //Do something with new emoticon.
                }
    
                @Override
                public void onBackSpace() {
                    //Do something here to handle backspace event.
                    //The process of removing last character when user preses back space will handle
                    //by library if your edit text is in focus.
                }
            });
  • Prepare GIF configuration.

    • Set the desired GIF provider by passing desired GIFProvider in constructor GIFConfig(). Here is the list of supported GIF providers. It is required to set GIF provider before adding fragment into container.
    • Implement GIF select listener using GIFConfig#setGifSelectListener(). This will notify you when user selects new GIF.
    //Create GIF config
    EmoticonGIFKeyboardFragment.GIFConfig gifConfig = new EmoticonGIFKeyboardFragment
    
            /*
              Here we are using GIPHY to provide GIFs. Create Giphy GIF provider by passing your key.
              It is required to set GIF provider before adding fragment into container.
             */
            .GIFConfig(GiphyGifProvider.create(this, "564ce7370bf347f2b7c0e4746593c179"))
            .setGifSelectListener(new GifSelectListener() {
                @Override
                public void onGifSelected(@NonNull Gif gif) {
                    //Do something with the selected GIF.
                    Log.d(TAG, "onGifSelected: " + gif.getGifUrl());
                }
            });
  • Add EmoticonGIFKeyboardFragment.

    • Create new EmoticonGIFKeyboardFragment by passing EmoticonConfig and GIFConfig. If you pass null to EmoticonConfig, emoticon functionality will be disabled. Also, if you pass GIFConfig as null, GIF functionality will be disabled.
    • Add the generated fragment to the container.
    EmoticonGIFKeyboardFragment emoticonGIFKeyboardFragment = EmoticonGIFKeyboardFragment
            .getNewInstance(findViewById(R.id.keyboard_container), emoticonConfig, gifConfig);
    
    //Adding the keyboard fragment to keyboard_container.
    getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.keyboard_container, EmoticonGIFKeyboardFragment)
            .commit();
  • Open/Close the keyboard and handle back button press.

    • Open keyboard view by calling EmoticonGIFKeyboardFragment#open() and close it by calling EmoticonGIFKeyboardFragment#close().
    • Handle back button press events by using EmoticonGIFKeyboardFragment#handleBackPressed() in your activity.
      @Override
      public void onBackPressed() {
        if (!mEmoticonGIFKeyboardFragment.handleBackPressed())
            super.onBackPressed();
      }

Demo

Emoticons GIFs
Emoticon Demo GIF Demo
Only Emoticons Only GIFs
Only Emoticons Only GIFs
Search Emoticons Search GIFs
Only Emoticons Only GIFs

Emoticon icon packs

Icon Emoticon Pack Gradle Dependency Version
Grinning Emoji Apple compile 'com.kevalpatel2106:emoticonpack-ios:<latest> Download
Grinning Emoji Android 7.0 compile 'com.kevalpatel2106:emoticonpack-android7:<latest> Download
Grinning Emoji Android 8.0 compile 'com.kevalpatel2106:emoticonpack-android8:<latest> Download
Grinning Emoji Samsung compile 'com.kevalpatel2106:emoticonpack-samsung:<latest> Download
Grinning Emoji HTC compile 'com.kevalpatel2106:emoticonpack-htc:<latest> Download
Grinning Emoji LG compile 'com.kevalpatel2106:emoticonpack-lg:<latest> Download
Grinning Emoji Windows 8.1 compile 'com.kevalpatel2106:emoticonpack-windows8:<latest> Download
Grinning Emoji Windows 10 compile 'com.kevalpatel2106:emoticonpack-windows10:<latest> Download
Grinning Emoji Twitter compile 'com.kevalpatel2106:emoticonpack-twitter:<latest> Download
Grinning Emoji Facebook compile 'com.kevalpatel2106:emoticonpack-facebook:<latest> Download
Grinning Emoji Messenger compile 'com.kevalpatel2106:emoticonpack-messenger:<latest> Download
Grinning Emoji Emojidex compile 'com.kevalpatel2106:emoticonpack-emojidex:<latest> Download
Grinning Emoji EmojiOne compile 'com.kevalpatel2106:emoticonpack-emojione:<latest> Download

GIF Packs

GIF Provider Module Dependency Version
giphy.com Giphy compile 'com.kevalpatel2106:gifpack-giphy:<latest> Download
tenor.com Tenor compile 'com.kevalpatel2106:gifpack-tenor:<latest> Download

Acknowledgements

How to contribute?

Questions?πŸ€”

Hit me on twitter Twitter

License

Copyright 2017 Keval Patel

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

More Repositories

1

android-hidden-camera

This library is to take picture using camera without camera preview.
Java
396
star
2

android-ruler-picker

Android custom view that uses ruler for picking the number from given range.
Java
381
star
3

PasscodeView

PasscodeView is an Android Library to easily and securely authenticate user with PIN code or using the fingerprint scanner.
Java
272
star
4

android-samples

Repository that contains android tutorial projects and sample applications
Java
229
star
5

Prevent-Screen-Off

This is the library that keeps the screen on until user is looking at the screen.
Java
176
star
6

FingerprintDialogCompat

FingerprintDialog from Android 28 (P) back ported to Android 23 (M).
Java
104
star
7

android-ringtone-picker

Simple Ringtone Picker dialog which allows you to pick different sounds from ringtone, alarm tone, notification tone and music from external storage.
Java
74
star
8

green-build

An android app for managing your CI builds.
Kotlin
73
star
9

UserAwareVideoView

A customized video view that will automatically pause video is user is not looking at device screen!!!!!
Java
51
star
10

Open-Weather-API-Wrapper

An Android wrapper for the APIs of https://openweathermap.org
Java
22
star
11

remote-storage-android-things

Create an FTP server using on raspberry pi and build your own wireless storage & backup solution for home.
Java
20
star
12

year-in-progress

Deadline tracker
Kotlin
17
star
13

PastryShop

Take home task for the cookpad interview (Sr. Android Engineer) 2018
Kotlin
15
star
14

smart-lens

Get the information of object based on image recognition using TensorFlow.
Java
12
star
15

unity-lamborghini-car

See Lamborghini in the real world.
C#
12
star
16

unity-snake-game

This is smaple 2D unity snake game.
C#
12
star
17

collision-detector-android-things

Get the distance of the object using Android Things & ultrasonic ranging sensor HC-SR04.
Java
10
star
18

smartswitch

Control your home switches remotely from phone using Android Things.
Java
9
star
19

pocket-ci

Check your builds from your pocket
Kotlin
8
star
20

torrent-downloader-android-things

Java
7
star
21

github-issue-cloud-function

πŸ”₯ Firebase cloud function to post a GitHub issue whenever new crash🐞 reported in firebase crashalytics.
JavaScript
7
star
22

rxbus

Implementation of event bus using Rx for Android.
Java
5
star
23

remote-bluetooth-speaker-android-things

Java
5
star
24

Currency-Converter-App

Currency converter android app
Kotlin
4
star
25

robo-car

Java
4
star
26

crypto-wallet

Demo application for displaying the Bitcoin transaction in Crypto Wallet.
Kotlin
3
star
27

gitlab-ci-android

GitLab CI Docker image to create android builds.
Shell
3
star
28

basic-android

A ready to start from scratch setup for android application project
Java
3
star
29

Github-User-Search

Java
3
star
30

vuforia-barcode-scanner

A barcode scanner for Vuforia based AR applications.
C#
2
star
31

google-home-andorid-things

Protocol Buffer
2
star
32

Stand-Up

Sitting is next cancer.
Kotlin
2
star
33

brew

Kotlin
2
star
34

kevalpatel2106.github.io

Source code for my personal website.
SCSS
2
star
35

rpi-setup

This script will set up your raspberry pi after first boot.
Shell
1
star
36

kevalpatel2106

1
star
37

ar-solar-system

Augmented reality specific model of the solar system using unity in ARCore.
C#
1
star
38

SpinWheelView

Java
1
star
39

home

Java
1
star