android 文本表情,把文本内容变为表情包,Android开发还可以这样 玩?!

在Android开发中,有时候需求为发送一些系统里面的表情,类似于搜狗输入法的那种简单表情。调用系统的表情,ios那边可以自动识别,同时也避免自己添加表情的图片。效果是这样子的

AAffA0nNPuCLAAAAAElFTkSuQmCC

然后点击,EditText就会显示这些表情,同时ios那边不需要任何的识别操作,可以直接显示这些表情。开发步骤如下:

S1:定义一个Gridview,适配器用TextView。

S2:获取适配器中数据,也即表情的数据源。可以简单的定义一个EmojiData类

public class EmojiData {

public static int[] emojiint = {

0x1F601,

0x1F602,

0x1F603,

0x1F604,

0x1F605,

0x1F606,

0x1F609,

0x1F60A,

0x1F60B,

0x1F60C,

0x1F60D,

0x1F60E,

0x1F60F,

0x1F612,

0x1F613,

0x1F614,

0x1F616,

0x1F618,

0x1F61A,

0x1F61C,

0x1F61D,

0x1F61E,

0x1F620,

0x1F621,

0x1F622,

0x1F623,

0x1F624,

0x1F625,

0x1F628,

0x1F629,

0x1F62A,

0x1F62B,

0x1F62D,

0x1F630,

0x1F631,

0x1F632,

0x1F633,

0x1F634,

0x1F635,

0x1F637,

0x1F638,

0x1F639,

0x1F63A,

0x1F63B,

0x1F63C,

0x1F63D,

0x1F63E,

0x1F63F,

};

private static ArrayList list = new ArrayList<>();

//获取表情源数据

public static ArrayList initEmojiString() {

for (int i = 0; i < emojiint.length; i++) {

list.add(getEmojiStringByUnicode(emojiint[i]));

}

return list;

}

//将int对应的表情转换为String类型

private static String getEmojiStringByUnicode(int unicode) {

return new String(Character.toChars(unicode));

}

}

S3:将数据加载到适配器中

ArrayList list = EmojiData.initEmojiString();

adapter.setData(list);

gridView_emoji.setAdapter(adapter);

S4:对gridview进行点击即可:

gridView_emoji.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView> parent, View view, int position, long id) {

eidtivew_emoji.append(adapter.getData().get(position).toString());

}

});

总结:表情的处理其实还是比较简单的,最主要的是要清楚默认的系统表情对应的int值以及如何将其转换成能后识别成表情的String类型数据。其他的就是如何展示这些表情的了,以上就这样,欢迎大家发表更好的表情开发方案!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值