- 浏览: 406064 次
- 性别:
- 来自: 福州
最新评论
-
野牛精:
感谢楼主分享,帮大忙了。
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 5816打包,是一个经常会遇到的问题,写个脚本就可以解决了.不同的脚本 ... -
vlc for android录制视频与截图
2014-09-08 18:31 7975首先说明,这不算原 ... -
android百度地图转为高德地图
2014-08-11 11:09 2909使用百度地图也不少时间了,但是一直出现无法解决的问题,在官 ... -
编译 i9000的cm系统
2014-08-04 13:10 1540[color=red][b]此文 并不 ... -
mp4v2 保存h264流
2014-05-01 21:15 11764大侠已经完成了很多操作了,唯一不足的是,工程完整性差一些,而且 ... -
baidumap的缩放到看到所有点
2014-04-09 21:03 1398之前使用1.3.5版本的sdk,通过调用mapviewcont ... -
ViewPager 查看图片
2014-02-13 12:59 4473一个图片查看器 , app到处都是 , 但那是别人的. 现在的 ... -
机顶盒 页面 选中后的 动画
2013-12-05 09:39 2132前面已经说过了,对于机顶盒的焦点的处理. 相信有不少人看 ... -
引爆你的图片浏览, ListView 大图片
2013-11-05 07:58 1264之前发现,ListView里面的图片资源越占越大,特别是当 ... -
微博开放源码
2013-10-23 12:09 987微博程序已经发布不少时间了,但一直也没有很多用户使用,主要在用 ... -
Mupdf 缩小apk包,减少字体
2013-10-20 15:53 3665在以前的apv中,字体占了很大的一部分,如果去除cjk字体 ... -
ActionBar appcompat 解决碎片化问题
2013-09-15 16:58 2120actionbarsherlock 这个在api11以下的系统 ... -
android机顶盒获取有线mac
2013-09-02 16:09 5437直接上代码: public static String ... -
android竖着的seekbar
2013-08-22 20:33 5430以前网上有位虾士发过一篇文章是关于竖着的seekbar,但是也 ... -
新浪微博oauth2.0 自动认证
2013-08-13 09:01 0oauth2.0作者认为它不先进,都放弃了.但是oauth2. ... -
android 颜表情.
2013-07-20 21:16 1780在使用TagsViewGroup 流布局后,我替换了原来的Gr ... -
flow 流布局.
2013-07-13 20:06 1258在git上看到一个FlowingViewGroup,代码有点旧 ... -
开发android机顶盒应用 事件,焦点处理
2013-07-13 19:58 19753机顶盒应用不同于手机 ... -
android 磁盘缓存.
2013-07-13 19:30 5234开发一个app,特别是图片的app,免不了要存储图片,内存缓存 ... -
TextView 文字淡入效果
2013-04-15 13:34 3452一个文本渐渐地从左到右的显示。 几步就可以了实现了。利用的是V ...
相关推荐
表情功能的实现虽说不难,但却比较繁琐,首先要了解新浪微博开放平台的表情API,然后通过某种方式调用,如果通过网页后台代码直接读取储存到JavaScript变量中,又会拖慢网页加载速度,如果采用AJAX读取,又要解决...
主要介绍了js实现选中页面文字将其分享到新浪微博,需要的朋友可以参考下
主要基于新浪微博第一页做的,第一页有的功能几乎都有,除了写博文没有表情和#话题以外都已经实现,适合新手~
新浪微博的手机客户端实现了: 轻松更新浏览你关注的好友、娱乐明星、专家发布的最新微博 即时获取国内外热点新闻,网络流行话题,好玩的视频和图片 随时随地分享照片、文字、地点或转发有趣的内容给好友 快捷发布...
完全仿照 新浪微博图片 显示 制作 公司要制作这样一个东东 花了一个礼拜写的 稍微改改完全满足你的需求的
3、文字转表情的方法应该与新浪微博的不一样,我的实现很复杂(测试比较了我的和新浪微博的转化,先在textView中输入几百上千个表情,此时textView输入会变得很慢,新浪微博也是如此,因此新浪微博应该也是有遍历、...
jQuery新浪微博发布页面代码是一款可统计字数,发送表情,放大图片,添加编辑的内容的页面特效。
本功能已经完全实现,仿新浪博客下面的评论功能,并且实现了1楼到N楼的无限循环,引入了表情,并实现了分页功能,评分功能。支持头像显示,下载世界使用,里面css和sql文件都有,SQL文件导入数据库即可。我个人觉得值...
源码SkyMicroblogDemo,利用自动布局模仿新浪微博的首页消息显示,可以根据文字内容和图片的张数来实现cell的自适应,发现在网上类似新浪微博带有多张图片的cell自适应的资源非常少,所以自己研究了一下写了一个Demo...
这是新浪微博的一个帖子,刚好包括了话题、表情、@好友三种显示。显示方法上篇已经阐述了,就是使用SpannableString。这篇主要介绍显示这种帖子的解析工具类。 二、实现 1.字符串表示和对应正则表达式 话题用##号括...
动动鼠标即可把自己选中的图片、文字、以及视频的地址转播到新浪微博,您不必担心安全问题,因为这一切都是调用新浪微博官方API接口完成的.程序制作GodSon 4.0.7.0(2014-2-07) chrome更新API 4.0.7.0(2014-2-07)...
Android系统通过SpannableString类来对指定文本进行相关处理,实际应用中用的比较多的地方比如聊天时显示表情啊,朋友圈或社区中话题的显示、@好友显示和点击等等,关键字显示不同颜色…… 1、BackgroundColorSpan ...
记事狗微博系统是一套业界领先的开源PHP微博程序,其支持Web、手机、短信、QQ机器人等多种方式发布内容,并可通过QQ即时通知、站外调用、同步到新浪微博、腾讯微博(可使用微博账户登录、注册绑定)等传播内容,是...
(增强)后台增加新浪微博、QQ登录验证META设置 (新增)淘宝商品采集增加店铺搜索采集功能,不受API权限限制,并结合好店展示 (增强)后台淘宝客采集增加总成交量限制条件 (增强)后台淘宝客采集增加记录商品...
10、腾讯、新浪微博和淘宝一键登录支持! 11、标签机制,自由更改模板内容 12、发布文档时,文档分类采用竖排列结构,更清晰 13、修复了原有的虚拟空间与独立服务器的双选择模式 14、修复了10.0评分遮盖在星星...
* 侧边栏新浪微博插件表情资源更新 * 解决一些接口实现问题 * 脚本注入环境下ajax请求被拒绝 * PAGE_LOADED 会触发两次 3.3.5.1000 2012-03-01 本次更新包含下列新特性: + 对于特定的页面自动切换到兼容模式 ...
完全兼容网上广为流传的飞鸽传... 新浪微博:http://weibo.com/u/2460614315 您也可以上飞秋论坛发表您的建议或查看最新版本信息: 论坛地址: http://www.feiq18.com 在此非常感谢您的宝贵建议和意见! 作者:卢本陶
10、腾讯、新浪微博和淘宝一键登录支持! 11、标签机制,自由更改模板内容 12、发布文档时,文档分类采用竖排列结构,更清晰 13、修复了原有的虚拟空间与独立服务器的双选择模式 14、修复了10.0评分遮盖在星星评分...