
Posted by Lin Guo, Software Engineer
(☐). The library guarantees to detect and remove them. This ensures the library is compatible across multiple Android versions/devices.
Smooth UI
The library has several optimizations that attempt to reduce startup latency and speed up scrolling experience, such as caching renderable emojis, drawing emojis asynchronously and RecyclerView optimizations.
Personalized inclusive experience
User selections are persistent in the library. Emojis that are newly chosen will be shown at the top row, making it simpler for users to find and share them. The library also offers a variety of emojis that represent different people and cultures in the variant panels. If the user chooses an emoji from one of the variation panels (Figure 2), the choice is retained and set as the default in the main panel.

Integrate emoji picker into your app in 3 steps
Step 1: Import the library in build.gradle
dependencies { |
Optionally set emojiGridColumns and emojiGridRows based on the desired size of each emoji cell
An example that uses EmojiPickerView in XML
<androidx.emoji2.emojipicker.EmojiPickerView |
A very simple emoji picker should now be presented on your app! For the next step, we assume you would like to do something to the picked emoji.
Step 3: Provide listener to the picked emoji
// a listener example |
Now you have a basic functioning emoji picker. To customize it further (e.g, override some styles or provide a different behavior to the recent emoji row), please refer to our .
Feel free to file Bug Report or Feature Request to help us improve the library!
SOCIAL SHARE CARD GENERATOR