Android Samples---EmojiCompat(emoji表情)

emoji表情让我们互联网聊天不在生涩,各种社交工具中都缺少不了emoji表情,但是由于emoji表情没有一个统一的规范,导致我们在聊天的时候可能会收到类似“□”的一个字符。这其实就是因为我们没有正确的解析到emoji的unicode。QQ为了解决这个问题,专门为自己定做了一套自己的emoji表情。而我们在开发中,没有那个时间和能力去做一套完整的emoji表情库,但是幸好android已经为我们考虑到了这一点,所以官方推出了一套可以解析emoji表情的控件。

首先我们来看一下Android官方demo给出的效果图

这里写图片描述

其实我个人认为如果只看原生的emoji表情,Android的表情比iOS的更加生动。

接下来我们去官方的api中看一下

这里写图片描述

我们可以看到Android为我们提供了三种控件,分别是按钮,输入框,还有文本。这三种已经可以解决我们开发中遇到的问题。

接下里看一下使用
emoji表情我们可以使用系统自带的,也可以下载一下官方更新的。如果使用系统自带的,那么我们需要

 EmojiCompat.Config config = new BundledEmojiCompatConfig(getApplicationContext());

如果我们需要下载一些表情的话,可以使用

final FontRequest fontRequest = new FontRequest(
                    "com.google.android.gms.fonts",
                    "com.google.android.gms",
                    "Noto Color Emoji Compat",
                    R.array.com_google_android_gms_fonts_certs);
            config = new FontRequestEmojiCompatConfig(getApplicationContext(), fontRequest)
                    .setReplaceAll(true)
                    .registerInitCallback(new EmojiCompat.InitCallback() {
                        @Override
                        public void onInitialized() {
                            Log.i(TAG, "EmojiCompat initialized");
                        }

                        @Override
                        public void onFailed(@Nullable Throwable throwable) {
                            Log.e(TAG, "EmojiCompat initialization failed", throwable);
                        }
                    });

然后我们就可以将带有emoji表情的文字通过setText()方法添加到控件上显示了,当然在实际开发中,我们可能需要的是去选择emoji表情,然后发送。那么我们可以使用网格布局,将emoji表情加载出来,然后选择,具体的实现,等我有空的时候会继续更新。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页