A simple library to add Emoji support to your Android app. In a PopupWindow Emojis can be chosen. In order to edit and display text with Emojis this library provides public APIs: EmojiEditText
& EmojiTextView
.
build.gradle
compile 'com.vanniktech:emoji:0.3.0'
compile 'com.vanniktech:emoji:0.4.0-SNAPSHOT'
Modules are located on Maven Central.
In order to use the SNAPSHOT version please add:
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
}
Declare your EmojiEditText
in your layout xml file.
<com.vanniktech.emoji.EmojiEditText
android:id="@+id/emojiEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionSend"
android:inputType="textCapSentences|textMultiLine"
android:maxLines="3"
app:emojiSize="26sp"/>
To open the EmojiPopup
execute the code above:
final EmojiPopup emojiPopup = EmojiPopup.Builder.fromRootView(rootView).build(emojiEditText);
emojiPopup.toggle(); // Toggles visibility of the Popup
emojiPopup.dismiss(); // Dismisses the Popup
emojiPopup.isShowing(); // Returns true when Popup is showing
The rootView
is the rootView of your layout xml file which will be used for calculating the height of the keyboard.
emojiEditText
is the EmojiEditText
that you declared in your layout xml file.
<com.vanniktech.emoji.EmojiTextView
android:id="@+id/emojiTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
Just use the EmojiTextView
and call setText
with the String you got from EmojiEditText
and you're done.
On the builder for the EmojiPopup
you are able to declare several listeners.
setOnSoftKeyboardCloseListener(final OnSoftKeyboardCloseListener listener);
setOnEmojiClickedListener(final OnEmojiClickedListener listener);
setOnSoftKeyboardOpenListener(final OnSoftKeyboardOpenListener listener);
setOnEmojiPopupShownListener(final OnEmojiPopupShownListener listener);
setOnEmojiPopupDismissListener(final OnEmojiPopupDismissListener listener);
setOnEmojiBackspaceClickListener(final OnEmojiBackspaceClickListener listener);
You can pass your own implementation of the recent Emojis. Just let one of your classes implement the RecentEmoji
interface and pass it when you're building the EmojiPopup
:
setRecentEmoji(yourClassThatImplementsRecentEmoji)
If no instance or a null instance is set the default implementation will be used.
Check out the sample project to get more information.
No configuration needed.
Copyright (C) 2016 Vanniktech - Niklas Baudy
Licensed under the Apache License, Version 2.0