- 浏览: 408926 次
- 性别:
- 来自: 福州
最新评论
-
野牛精:
感谢楼主分享,帮大忙了。
android ftp 客户端编写(ftp4j) -
happytianqiu:
你好,我最近也在搞这个,能发个demo吗,邮箱是:624951 ...
开发android机顶盒应用 事件,焦点处理 -
zhunanfengfeimeng:
http://www.iteye.comhttp://www. ...
android ftp 客户端编写(ftp4j) -
icyttea:
好棒!感谢楼主分享
vlc for android录制视频与截图 -
clwwlc:
有demo吗
开发android机顶盒应用 事件,焦点处理
关于表情的实现,sdk里面也提供一个表情的解析类,SmileyParser,,可以利用这个类来处理表情的。 它主要是构造了一个SpannableStringBuilder,然后里面添加ImageSpan,虽然打印出来的字符串与没有经过处理的一样,但经过这个处理后就可以显示图片了,有了ImageSpan,才有表情的显示。 关于微博的表情,可以从api里面下载。表情的格式大概是: [{"phrase":"[织]","type":"face","url":"http://img.t.sinajs.cn/t35/style/images/common/face/ext/normal/41/zz2_org.gif","hot":false,"common":true,"category":"","icon":"http://img.t.sinajs.cn/t35/style/images/common/face/ext/normal/41/zz2_thumb.gif","value":"[织]","picid":""}, {"phrase":"[神马]", "type":"face", "url":"http://img.t.sinajs.cn/t35/style/images/common/face/ext/normal/60/horse2_org.gif", "hot":false, "common":true, "category":"", "icon":"http://img.t.sinajs.cn/t35/style/images/common/face/ext/normal/60/horse2_thumb.gif", "value":"[神马]", "picid":""},。。。这样的形式, 表情数量太多了,只解析 "common":true的,就是常用的表情。把里面的图片下载下来就可以用了。 需要注意的是你的 "phrase":"[织]"这个名字不能随意地更改。关于这个名字对应什么图片是自己控制的,但不保证在其它的程序是显示正常。 于是我就用一个map来存储: public static final HashMap<String, Integer> mSmileyMap=new HashMap<String, Integer>(); static { mSmileyMap.put("[织]", Integer.valueOf(R.drawable.zz2_org)); mSmileyMap.put("[神马]", Integer.valueOf(R.drawable.horse2_org)); mSmileyMap.put("[浮云]", Integer.valueOf(R.drawable.fuyun_org)); mSmileyMap.put("[给力]", Integer.valueOf(R.drawable.geili_org)); mSmileyMap.put("[围观]", Integer.valueOf(R.drawable.wg_org)); mSmileyMap.put("[威武]", Integer.valueOf(R.drawable.vw_org)); mSmileyMap.put("[熊猫]", Integer.valueOf(R.drawable.panda_org)); mSmileyMap.put("[兔子]", Integer.valueOf(R.drawable.rabbit_org)); mSmileyMap.put("[奥特曼]", Integer.valueOf(R.drawable.otm_org)); mSmileyMap.put("[囧]", Integer.valueOf(R.drawable.j_org)); 。。。。其它不列出了。上面下载的是原始图片,如果要缩略图可以用 thumb.gif下载 。 然后开始构造表情的解析类: 单例。 构造 。 private AKSmileyParser(Context context) { mContext=context; mSmileyTexts=AKSmiley.mSmileyMap.keySet().toArray(new String[0]); System.out.println("AKSmileyParser:"+mSmileyTexts+" ssm:"+AKSmiley.mSmileyMap.size()); mPattern=buildPattern(); } private Pattern buildPattern() { int length=AKSmiley.mSmileyMap.size(); // Set the StringBuilder capacity with the assumption that the average // smiley is 3 characters long. StringBuilder patternString=new StringBuilder(length*3); System.out.println("buildPattern:"+mSmileyTexts); // Build a regex that looks like (:-)|:-(|...), but escaping the smilies // properly so they will be interpreted literally by the regex matcher. patternString.append("("); for (String s : mSmileyTexts) { patternString.append(Pattern.quote(s)); patternString.append('|'); } // Replace the extra '|' with a ')' patternString.replace(patternString.length()-1, patternString.length(), ")"); return Pattern.compile(patternString.toString()); } 然后就可以使用了。 初始化: AKSmileyParser parser=AKSmileyParser.getInstance(this); 用gridview来显示表情。其中 holder.appImage.setImageDrawable(context.getResources().getDrawable(AKSmiley.mSmileyMap.get(list[index]))); 显示图片。 private String[] list;//这个东西就是表情的key @Override public Object getItem(int index) { return list[index]; } 初始化适配器:mAdapter.setList(AKSmileyParser.getInstance(this).mSmileyTexts); 表情显示成功了: 设置setOnItemClickListener事件: String oldChar=edit_text.getText().toString(); Log.d(TAG, "oldChar:"+oldChar);//原始字符 String charToBuild=(String) mAdapter.getItem(position); Log.d(TAG, "charToBuild:"+charToBuild);//新加入的字符,这个字符就是用map中的key:[神马]形式的 int selection=edit_text.getSelectionStart();//需要知道当前选中的位置,因为表情是ImageSpan,不是字符串,所以选中的位置会不正确。 CharSequence start=oldChar.subSequence(0, selection);//选中位置的开始点,从0开始 CharSequence end=oldChar.subSequence(selection, oldChar.length()); Log.d(TAG, "start:"+start+"---end:"+end+" selection:"+selection); StringBuilder builder=new StringBuilder(start); builder.append(charToBuild).append(end);//构造新的字符串,虽然表情用ImageSpan显示,但字符串的内容还是一样的。 int newSel=selection+charToBuild.length();//计算新的选中的光标位置, AKSmileyParser parser=AKSmileyParser.getInstance(this); CharSequence newChar=parser.addSmileySpans(builder);//解析新的字符串,如果只解析新添加的部分,其它的还是会显示成字符串“[神马]”这样的,所以需要重新解析所有的 Log.d(TAG, "newChar:"+newChar+" newSel:"+newSel); edit_text.setText(newChar); edit_text.setSelection(newSel);//设置光标的新位置。 txt_text.setText(newChar); 日志显示: //09-27 11:05:07: D: oldChar:神马[神马] d兔子[兔子]ad嘻嘻[嘻嘻]aa //09-27 11:05:07: D: charToBuild:[哈哈] //09-27 11:05:07: D: start:神马[神马] d兔---end:子[兔子]ad嘻嘻[嘻嘻]aa selection:9//在兔子中间插入 //09-27 11:05:07: D: newChar:神马[神马] d兔[哈哈]子[兔子]ad嘻嘻[嘻嘻]aa newSel:13
apk下载,源码暂时没有。稍后提供。上面已经提供了大多数了,部分不全的代码自己补全。
发表评论
-
android 批量打渠道包
2014-09-16 17:27 5882打包,是一个经常会遇到的问题,写个脚本就可以解决了.不同的脚本 ... -
vlc for android录制视频与截图
2014-09-08 18:31 8027首先说明,这不算原 ... -
android百度地图转为高德地图
2014-08-11 11:09 2960使用百度地图也不少时间了,但是一直出现无法解决的问题,在官 ... -
编译 i9000的cm系统
2014-08-04 13:10 1590[color=red][b]此文 并不 ... -
mp4v2 保存h264流
2014-05-01 21:15 11821大侠已经完成了很多操作了,唯一不足的是,工程完整性差一些,而且 ... -
baidumap的缩放到看到所有点
2014-04-09 21:03 1452之前使用1.3.5版本的sdk,通过调用mapviewcont ... -
ViewPager 查看图片
2014-02-13 12:59 4515一个图片查看器 , app到处都是 , 但那是别人的. 现在的 ... -
机顶盒 页面 选中后的 动画
2013-12-05 09:39 2179前面已经说过了,对于机顶盒的焦点的处理. 相信有不少人看 ... -
引爆你的图片浏览, ListView 大图片
2013-11-05 07:58 1310之前发现,ListView里面的图片资源越占越大,特别是当 ... -
微博开放源码
2013-10-23 12:09 1030微博程序已经发布不少时间了,但一直也没有很多用户使用,主要在用 ... -
Mupdf 缩小apk包,减少字体
2013-10-20 15:53 3714在以前的apv中,字体占了很大的一部分,如果去除cjk字体 ... -
ActionBar appcompat 解决碎片化问题
2013-09-15 16:58 2175actionbarsherlock 这个在api11以下的系统 ... -
android机顶盒获取有线mac
2013-09-02 16:09 5493直接上代码: public static String ... -
android竖着的seekbar
2013-08-22 20:33 5526以前网上有位虾士发过一篇文章是关于竖着的seekbar,但是也 ... -
新浪微博oauth2.0 自动认证
2013-08-13 09:01 0oauth2.0作者认为它不先进,都放弃了.但是oauth2. ... -
android 颜表情.
2013-07-20 21:16 1833在使用TagsViewGroup 流布局后,我替换了原来的Gr ... -
flow 流布局.
2013-07-13 20:06 1300在git上看到一个FlowingViewGroup,代码有点旧 ... -
开发android机顶盒应用 事件,焦点处理
2013-07-13 19:58 19829机顶盒应用不同于手机 ... -
android 磁盘缓存.
2013-07-13 19:30 5285开发一个app,特别是图片的app,免不了要存储图片,内存缓存 ... -
TextView 文字淡入效果
2013-04-15 13:34 3495一个文本渐渐地从左到右的显示。 几步就可以了实现了。利用的是V ...
相关推荐
"2016-06 最新新浪微博表情gif大全"是一个专为新浪微博用户提供的资源集合,包含了当时最新、最流行的表情动图。这个压缩包文件总计包含了1836个gif图像,这些动态表情丰富了用户的互动体验,让用户在发表评论或进行...
表情功能的实现虽说不难,但却比较繁琐,首先要了解新浪微博开放平台的表情API,然后通过某种方式调用,如果通过网页后台代码直接读取储存到JavaScript变量中,又会拖慢网页加载速度,如果采用AJAX读取,又要解决...
《JQuery新浪微博表情插件:跨浏览器的交互增强利器》 在互联网的快速发展中,社交媒体已经成为人们日常交流的重要平台,而微博作为其中的一员,更是深受广大用户的喜爱。为了提升用户体验,许多开发者开始研究如何...
"新浪微博表情1640个,带json引用"这个资源集合是专门为开发者设计的,旨在帮助他们在自己的应用程序中集成丰富的表情功能,提升用户体验。下面将详细讲解这个资源包中的关键知识点。 1. **表情符号**:表情符号是...
《新浪微博表情jQuery插件——jquery.sinaEmotion-1.0详解》 在网页开发中,为了提升用户体验,经常会引入各种各样的JavaScript插件。其中,“新浪微博表情jQuery插件”(jquery.sinaEmotion-1.0)是一个专门用于...
《jQuery实现新浪微博表情插件详解》 在网页交互设计中,表情已经成为用户交流的重要组成部分,尤其是在社交媒体上。本文将深入探讨如何使用jQuery实现一个类似新浪微博的表情插件,以提升用户体验,增强文字信息的...
本文将深入探讨一款基于jQuery的新浪微博表情插件,通过分析其实现原理和应用方法,帮助开发者提升网页的趣味性和实用性。 首先,我们需要明确jQuery的核心功能:简化DOM操作、事件处理、动画效果和Ajax交互。这个...
本文将深入探讨Android最新版新浪微博的特点、功能及其在技术实现上的亮点。 首先,Android版新浪微博的界面设计注重用户体验,采用简洁明快的UI布局,使得用户能够快速找到并操作各种功能。在信息流展示上,采用...
【标题】:“简单的仿新浪微博发布框” 在网页设计和开发中,模拟知名社交媒体平台的界面元素是一种常见的练习,有助于提升开发者的设计感和交互实现能力。本项目“简单的仿新浪微博发布框”就是一个很好的实例,...
总的来说,"jquery新浪微博表情插件"是一个结合了jQuery库、JavaScript语言特性、正则表达式、DOM操作、数据结构、事件处理、动态内容加载等多种技术的前端开发实例。它不仅提升了用户的交互体验,也为开发者提供了...
【jQuery仿新浪微博@功能代码】是一种常见的前端交互设计,它基于JavaScript库jQuery实现,用于在网页文本输入框中实现类似新浪微博的“@”提及功能。这个功能的主要目的是提高用户在社交媒体或评论系统中的互动体验...
本项目“aspnet 仿新浪微博系统”则是一个使用ASP.NET技术实现的微型博客平台,其核心目标是模仿并实现类似于新浪微博的功能。 1. **系统架构** 这个微博系统很可能采用了典型的三层架构设计,包括表现层(UI)、...
《新浪微博iPhone接口版》是一款专为Android用户设计的应用程序,虽然其名称中包含"iPhone",但实际是针对Android平台开发的。这款应用基于新浪微博的2.3.0版本,确保用户可以享受到与iPhone版相近的功能体验,同时...
在网页开发中,实现类似新浪微博的发布页面功能是一项常见的需求,这涉及到用户输入内容、字数统计、表情选择、图片预览等多个交互环节。本文将详细解析一个基于jQuery的实现方案,帮助开发者理解和构建类似的页面...
在这个“html5新浪微博@功能表情特效”项目中,我们将探讨HTML5如何用于实现类似微博平台中的@功能以及表情特效。 一、HTML5的语义化元素 HTML5引入了若干语义化的标签,如`<article>`、`<section>`、`<header>`、`...
本项目名为“实现自定义的新浪微博”,旨在利用新浪微博开放的API接口,构建一个具备基本微博功能的应用。这个应用不仅可以让用户浏览微博,还能进行评论、发布等互动操作。下面我们将深入探讨这个项目涉及到的关键...
【描述】:根据描述,这个项目主要是对新浪微博首页功能的复现,实现了用户在浏览微博时可能需要用到的大部分功能。开发者特别指出,除了撰写微博时缺少表情和“#”话题功能之外,其他第一页面展示的功能已经得到了...
本篇文章将深入探讨一款基于jQuery的插件,它完美地模仿了新浪微博的图片显示方式,帮助开发者快速实现类似的功能。 首先,我们需要理解jQuery的核心概念。jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历...