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表情加载出来,然后选择,具体的实现,等我有空的时候会继续更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值