实现仿QQ表情库。点击表情转换为对应特殊字符串放入EditText,在消息列表中将特殊字符串转换为表情。
效果演示:
一、实现QQ表情库
1. 导入表情库图片放在assets文件夹里
2. 全局首次加载这个图片,使用集合存储起来。关联图片和文字
在Application中加载表情对应文字数组、表情对应图文集合
// 图片&字符串对应关系
public static HashMap<String,String> biaoqingMap = new HashMap();
public static String[] biaoqingStringList = new String[]{
"[惊讶]","[撇嘴]","[色]","[发呆]","[得意]","[流泪]","[害羞]","[闭嘴]","[睡]","[大哭]","[尴尬]","[发怒]","[调皮]","[呲牙]","[微笑]","[难过]", "[哭]", "[非典]",
"[抓狂]", "[吐]", "[偷笑]", "[可爱]", "[白眼]", "[傲慢]", "[饥饿]", "[酷]", "[惊恐]", "[流汗]", "[憨笑]", "[大兵]", "[奋斗]", "[咒骂]", "[疑问]", "[嘘]", "[晕]",
"[折磨]", "[衰]", "[骷髅]", "[捶打]", "[再见]", "[闪人]", "[发抖]", "[爱情]", "[跳]", "[找]", "[美眉]", "[猪头]", "[猫咪]", "[小狗]", "[拥抱]", "[钱]", "[灯泡]",
"[酒杯]", "[蛋糕]", "[闪电]", "[炸弹]", "[刀]", "[足球]", "[音乐]", "[便便]", "[咖啡]", "[饭]", "[药丸]", "[玫瑰]", "[凋谢]", "[吻]", "[爱心]", "[心碎]", "[会议]",
"[礼物]", "[电话]", "[时间]", "[邮件]", "[电视]", "[太阳]", "[月亮]", "[强]", "[弱]", "[握手]", "[胜利]"
};
private void initBiaoqingMap() {
biaoqingMap.put("[惊讶]", "ic_01_jinya.gif");
biaoqingMap.put("[撇嘴]", "ic_02_beizui.gif");
biaoqingMap.put("[色]", "ic_03_se.gif");
biaoqingMap.put("[发呆]", "ic_04_fadai.gif");
biaoqingMap.put("[得意]", "ic_05_deyi.gif");
biaoqingMap.put("[流泪]", "ic_06_liulei.gif");
biaoqingMap.put("[害羞]", "ic_07_haixiu.gif");
biaoqingMap.put("[闭嘴]", "ic_08_bizui.gif");
biaoqingMap.put("[睡]", "ic_09_shui.gif");
biaoqingMap.put("[大哭]", "ic_10_daku.gif");
biaoqingMap.put("[尴尬]", "ic_11_ganga.gif");
biaoqingMap.put("[发怒]", "ic_12_fanu.gif");
biaoqingMap.put("[调皮]", "ic_13_tiaopi.gif");
biaoqingMap.put("[呲牙]", "ic_14_ciya.gif");
biaoqingMap.put("[微笑]", "ic_15_weixiao.gif");
biaoqingMap.put("[难过]", "ic_16_nanguo.gif");
biaoqingMap.put("[哭]", "ic_17_ku.gif");
biaoqingMap.put("[非典]", "ic_18_feidian.gif");
biaoqingMap.put("[抓狂]", "ic_19_zhuakuang.gif");
biaoqingMap.put("[吐]", "ic_20_tu.gif");
biaoqingMap.put("[偷笑]", "ic_21_touxiao.gif");
biaoqingMap.put("[可爱]", "ic_22_keai.gif");
biaoqingMap.put(<