SkillAgentSearch skills...

AXEmojiView

an advanced library which adds emoji,sticker,... support to your Android application.

Install / Use

/learn @Aghajari/AXEmojiView

README

<div align="center"> <br><b>AXEmojiView</b> is an advanced Android Library<br>which adds emoji,sticker,... support to your Android application <br><a href="https://github.com/Aghajari/AXEmojiView/blob/master/README.md#download-apk">DemoAPK</a> • <a href="https://github.com/Aghajari/AXEmojiView/releases">Releases</a> <br><br><img width="40" alt="LCoders | AmirHosseinAghajari" src="https://user-images.githubusercontent.com/30867537/90538314-a0a79200-e193-11ea-8d90-0a3576e28a18.png"><br><img width="420" alt="picker" src="./images/header.png">

Platform API Maven Central Join the chat at https://gitter.im/Aghajari/community

</div>

Screenshot

<img src="./images/main.png" width=300 title="Screen"> <img src="./images/dark.png" width=300 title="Screen">

Table of Contents

Changelogs

1.5.2:

1.5.0:

  • New emoji providers!
    • AppleProvider
    • iOSProvider
    • GoogleProvider
    • SamsungProvider
    • FacebookProvider
    • WhatsAppProvider
    • TwitterProvider
    • EmojidexProvider
  • EmojiPediaLoader project for auto updating emojis from emojipedia.org
  • New Variants!
  • Now you can filter some emojis from EmojiManager
  • Now you can disable variants from EmojiManager

Installation

AXEmojiView is available in the mavenCentral(), so you just need to add it as a dependency (Module gradle)

LatestVersion : 1.5.0

Gradle

def emojiViewVersion = "1.5.2"
def emojiViewProvider = "AppleProvider"

implementation "io.github.aghajari:AXEmojiView:$emojiViewVersion"
implementation "io.github.aghajari:AXEmojiView-$emojiViewProvider:$emojiViewVersion"

List of providers:

implementation "io.github.aghajari:AXEmojiView-Microsoft3DProvider:$emojiViewVersion"
implementation "io.github.aghajari:AXEmojiView-AppleProvider:$emojiViewVersion"
implementation "io.github.aghajari:AXEmojiView-iOSProvider:$emojiViewVersion"
implementation "io.github.aghajari:AXEmojiView-GoogleProvider:$emojiViewVersion"
implementation "io.github.aghajari:AXEmojiView-SamsungProvider:$emojiViewVersion"
implementation "io.github.aghajari:AXEmojiView-FacebookProvider:$emojiViewVersion"
implementation "io.github.aghajari:AXEmojiView-WhatsAppProvider:$emojiViewVersion"
implementation "io.github.aghajari:AXEmojiView-TwitterProvider:$emojiViewVersion"
implementation "io.github.aghajari:AXEmojiView-EmojidexProvider:$emojiViewVersion"

Maven

<dependency>
  <groupId>io.github.aghajari</groupId>
  <artifactId>AXEmojiView</artifactId>
  <version>1.5.2</version>
  <type>pom</type>
</dependency>

Microsoft Fluent 3D Emoji

Fluent Emoji are a collection of familiar, friendly, and modern emoji from Microsoft. Reference <img src="https://github.com/microsoft/fluentui-emoji/blob/main/art/readme_banner.webp" width=500 title="Fluent Emoji">

Note: This emoji provider doesn't include flags! Why?

Usage

Let's START! :smiley:

Install Emoji Provider

First step, you should install EmojiView with your EmojiProvider!

AXEmojiManager.install(this,new AXIOSEmojiProvider()); // new ProviderClassName

Note: iOSProvider is almost the same as AppleProvider but has less variants, It's a provider of Telegram emoji set <br> Note: GoogleProvider includes Emoji-14 new emojis

| AppleProvider | GoogleProvider | Microsoft3DProvider | | :---: | :---: | :---: | | <img src="./images/providers/apple_light.png" width=200 title="Screen"> | <img src="./images/providers/google_light.png" width=200 title="Screen"> | <img src="./images/providers/microsoft3d_light.png" width=200 title="Screen"> | | <img src="./images/providers/apple_dark.png" width=200 title="Screen"> | <img src="./images/providers/google_dark.png" width=200 title="Screen"> | <img src="./images/providers/microsoft3d_dark.png" width=200 title="Screen"> |

| FacebookProvider | WhatsAppProvider | SamsungProvider | | :---: | :---: | :---: | | <img src="./images/providers/facebook_light.png" width=200 title="Screen"> | <img src="./images/providers/whatsapp_light.png" width=200 title="Screen"> | <img src="./images/providers/samsung_light.png" width=200 title="Screen"> | | <img src="./images/providers/facebook_dark.png" width=200 title="Screen"> | <img src="./images/providers/whatsapp_dark.png" width=200 title="Screen"> | <img src="./images/providers/samsung_dark.png" width=200 title="Screen"> |

| iOSProvider | TwitterProvider | EmojidexProvider | | :---: | :---: | :---: | | <img src="./images/providers/apple_light.png" width=200 title="Screen"> | <img src="./images/providers/twitter_light.png" width=200 title="Screen"> | <img src="./images/providers/emojidex_light.png" width=200 title="Screen"> | | <img src="./images/providers/apple_dark.png" width=200 title="Screen"> | <img src="./images/providers/twitter_dark.png" width=200 title="Screen"> | <img src="./images/providers/emojidex_dark.png" width=200 title="Screen"> |

Custom Emoji Provider

If you wanna display your own Emojis you can create your own implementation of EmojiProvider and pass it to AXEmojiManager.install.

<img src="./images/google.jpg" width=250 title="Screen"> <img src="./images/Twitter.jpg" width=250 title="Screen"> <img src="./images/one.jpg" width=250 title="Screen">

Basic Usage

Create an AXEmojiEditText in your layout.

<com.aghajari.emojiview.view.AXEmojiEditText
            android:id="@+id/edt"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:hint="enter your message ..." />

Now, you should create a Page. Current pages are :

  • EmojiView
  • SingleEmojiView
  • StickerView

Let's try EmojiView :

AXEmojiEditText edt = findViewById(R.id.edt);

AXEmojiView emojiView = new AXEmojiView(this);
emojiView.setEditText(edt);

And add this page to AXEmojiPopup :

Note: AXEmojiPopup deprecated! Use AXEmojiPopupLayout instead.

AXEmojiPopup emojiPopup = new AXEmojiPopup(emojiView); 

emojiPopup.toggle(); // Toggles visibility of the Popup.
emojiPopup.show(); // Shows the Popup.
emojiPopup.dismiss(); // Dismisses the Popup.
emojiPopup.isShowing(); // Returns true when Popup is showing.

And we are done! :smiley: Output :

<img src="./images/ios.jpg" width=200 title="Screen">

Back to contents

AXEmojiPopupLayout

you can also create an AXEmojiPopupLayout instead of AXEmojiPopup!

i believe that AXEmojiPopupLayout has better performance, more customizable and it's faster.

  1. create an AXEmojiPopupLayout in your layout.
    <com.aghajari.emojiview.view.AXEmojiPopupLayout
        android:id="@+id/layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"/>
  1. add the created page to AXEmojiPopupLayout :
AXEmojiPopupLayout layout = findViewById(R.id.layout);
layout.initPopupView(emojiView);

layout.toggle(); // Toggles visibility of the Popup.
layout.show(); // Shows the Popup.
layout.dismiss(); // Dismisses the Popup.
layout.hideAndOpenKeyboard(); // Hides the popup
layout.isShowing(); // Returns true when Popup is showing.

Output is just same as the AXEmojiPopup's output!

Back to contents

Single Emoji View

SingleEmojiView is a RecyclerView and all emojis will load in one page (Same As Telegram Inc)

AXSingleEmojiView emojiView = new AXSingleEmojiView(this);
emojiView.setEditText(edt);

Output :

<img src="./images/SingleEmojiView.png" width=350 title="Screen">

Back to contents

StickerView

StickerView : you have to create your StickerProvider and load all your Stickers (from Url,Res,Bitmap or anything you want!) see example : [WhatsAppProvider](./A

Related Skills

View on GitHub
GitHub Stars196
CategoryCustomer
Updated1mo ago
Forks45

Languages

Java

Security Score

100/100

Audited on Feb 21, 2026

No findings