@评论人 加 改变 字体颜色 , 和emoji 的集成
来源:互联网 发布:百度seo教程 编辑:程序博客网 时间:2024/06/06 11:00
昨天 和我 一起 毕业的 小伙伴 从 很小的 外包公司, 离职了;
感觉到有点难过; 唉, 人只有在 失去后才会觉得,以前是多么美好;
代码 :
' emoji 来之 网上 开源 的库 ; 作者 teambition
//这里的评论内容,最好让服务器吧 , @ 谁的名字, 也返回来,我替换掉他, 让他 颜色变变, 可点击;commentTextContent = oneShiComment.getCommentTextContent();String[] split = oneShiComment.getBeiAiTeName().split(",");String temp="";String replaceAfter="";//通过服务器我拿到了 getBeiAiTeName 艾特人的名字 , 分隔开, 然后 和返回的 评论内容 比较,如果包含,就把他改变颜色,//然后用改变后颜色的 字符串, 继续replaceAll,改变颜色 , 然后 把HTML格式字符串 , 用 fromHtml 转化成 颜色 结果, //gethandlerEmojiTextToAite 这个方法吧 字符串中包含表情转化表情显示出来for (int i = 0; i < split.length; i++) {String name = split[i];if (commentTextContent.contains(name)) {if (!TextUtils.equals(temp, "")){replaceAfter = temp.replaceAll(name,"<font color=\"#00bbff\">"+name+"</font>");}else{replaceAfter = commentTextContent.replaceAll(name,"<font color=\"#00bbff\">"+name+"</font>");}temp=replaceAfter;}}Spanned spanned = Html.fromHtml(temp);SpannableStringBuilder ss = EmojiUtil.gethandlerEmojiTextToAite(spanned, mContext);holder.tv_text_content.setText(ss);
原作者的表情 不能 直接接受 Spanned格式, 我简单 重载了下 :
public static SpannableStringBuilder gethandlerEmojiTextToAite(Spanned content, Context context) throws IOException { SpannableStringBuilder sb = new SpannableStringBuilder(content); String regex = "\\[(\\S+?)\\]"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(content); Iterator<Emoji> iterator; Emoji emoji = null; while (m.find()) { iterator = emojiList.iterator(); String tempText = m.group(); while (iterator.hasNext()) { emoji = iterator.next(); if (tempText.equals(emoji.getContent())) { //转换为Span并设置Span的大小 sb.setSpan(new ImageSpan(context, decodeSampledBitmapFromResource(context.getResources(), emoji.getImageUri() , dip2px(context, 18), dip2px(context, 18))), m.start(), m.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); break; } } } return sb; }
又简单 改了下, 让 在 输入框里有表情 :
/** 拼接到最后 让表情 */ try { if (index < 0) { SpannableStringBuilder gethandlerEmojiText = EmojiUtil.gethandlerEmojiText( emoji.getContent(), this); editable.append(gethandlerEmojiText); } else { SpannableStringBuilder gethandlerEmojiText = EmojiUtil.gethandlerEmojiText( emoji.getContent(), this); editable.insert(index, gethandlerEmojiText); } } catch (IOException e2) { e2.printStackTrace(); }//自定义emoji
0 0
- @评论人 加 改变 字体颜色 , 和emoji 的集成
- CRichEditView改变字体的颜色和字体
- 改变字体的颜色和大小
- 改变textview的部分字体和颜色
- 改变treeview中节点的背景颜色和字体颜色
- ListView 中 背景颜色 和字体颜色的改变
- RadioGroup 的 RadioButton 选择改变字体颜色和背景颜色
- 改变控件的背景颜色和字体颜色
- CSS控制字体和字体颜色改变
- 动态改变字体的颜色
- 改变Button的字体颜色
- 改变eclipse的字体颜色
- 改变textview字体的颜色
- 改变alertview的字体颜色
- 改变MenuItemView的字体颜色
- android textview等文本内容中字体颜色的改变和字体背景色的改变
- 浅谈vc里控件的字体和颜色的改变
- select按钮的反馈和改变字体的颜色
- ssh
- [leetcode] 352. Data Stream as Disjoint Intervals 解题报告
- 使用arduino安装esp8266环境
- 陶哲轩实分析-第11章 Riemann积分
- Kali Linux Rolling 2016下Nessus Home版的安装
- @评论人 加 改变 字体颜色 , 和emoji 的集成
- 手动修改Restorator源文件告别繁琐:
- Hibernate标签总结
- hibernate实现的简单插入与查询
- 关于人工智能的幻想(九)第三部分
- 选拔忧虑
- 猪国杀
- <Js>事件
- C++第7次实验(基础班)—函数