Android获取unicode表情并显示

在这里插入图片描述
unicode链接
取U+后面的code值进行转换
在这里插入图片描述

自己手动添加一些需要的表情code进行unicode转换为字符串

public class EmojiUtils {

    private static String[] emo = new String[]{
            getEmojiStringByUnicode(0x1f917),
            getEmojiStringByUnicode(0x1f92d),
            getEmojiStringByUnicode(0x1f914),
            getEmojiStringByUnicode(0x1f970),
            getEmojiStringByUnicode(0x1f910),
            getEmojiStringByUnicode(0x1f925),
            getEmojiStringByUnicode(0x1f915),
            getEmojiStringByUnicode(0x1f92e),
            getEmojiStringByUnicode(0x1f927),
            getEmojiStringByUnicode(0x1f920),
            getEmojiStringByUnicode(0x1f978),
            getEmojiStringByUnicode(0x1f48b),
            getEmojiStringByUnicode(0x1f498),
            getEmojiStringByUnicode(0x1f4a3),
            getEmojiStringByUnicode(0x1f44c),
            getEmojiStringByUnicode(0x270c),
            getEmojiStringByUnicode(0x261d),
            getEmojiStringByUnicode(0x1f91f),
            getEmojiStringByUnicode(0x1f440),
            getEmojiStringByUnicode(0x1f441),
            getEmojiStringByUnicode(0x1f444),
            getEmojiStringByUnicode(0x1f445),
            getEmojiStringByUnicode(0x1f446),
            getEmojiStringByUnicode(0x1f447),
            getEmojiStringByUnicode(0x1f44a),
            getEmojiStringByUnicode(0x1f44d),
            getEmojiStringByUnicode(0x1f44e),
            getEmojiStringByUnicode(0x1f44f),
            getEmojiStringByUnicode(0x1f91d),

    };

    public static List<String> createData() {
        List<String> list = new ArrayList<>();
        for (int i = 0x1F600; i < 0x1F64F; i++) {
            if (i < 0x1F641 || i > 0x1F644)
                list.add(getEmojiStringByUnicode(i));
        }
        list.addAll(Arrays.asList(emo));
        return list;
    }

    public static String getEmojiStringByUnicode(int unicode) {
        return new String(Character.toChars(unicode));
    }
}

我这里使用recyclerview显示,给item的Textview赋值就行(如果显示出来图标背景有点灰,则给Textview控件设置字体颜色为白色)
例如

  holder.mTextView.setText(EmojiUtils.createData().get(0));
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值