Android调用系统表情实现

来源:互联网 发布:铁路大数据应用 编辑:程序博客网 时间:2024/06/16 06:06

注意:文章先发表于慕课网

前言:

在Android开发中,有时候需求为发送一些系统里面的表情,类似于搜狗输入法的那种简单表情。调用系统的表情,ios那边可以自动识别,同时也避免自己添加表情的图片。效果是这样子的图片描述;
这里写图片描述
然后点击,
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

原创粉丝点击