SpannableStringBuilder 用法浅析以及仿陌陌表情
SpannableStringBuilder 官方文档解释:这个类可以使文本的内容和标记都可以改变。当我们要为TextView或者Edittext里面的文字加入加入一些效果,如下划线,颜色标 识,超链接等,类似word文档一样。这时候可以用到SpannableStringBuilder ,SpannableStringBuilder是 android.text里面的一个类,功能灰常强大。主要的一个方法就是setSpan (Object what, int start, int end, int flags),这个方法的作用就是在把某个范围内的文字替换成某种东西;以下是一些简单用法
//下划线
SpannableString builder_1=new SpannableString(textView1.getText());
builder_1.setSpan(new UnderlineSpan(), 0, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView1.setText(builder_1);
//超链接
SpannableString builder_2=new SpannableString("网址:www.baidu.com");
builder_2.setSpan(new URLSpan("www.baidu.com"), 3, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView2.setText(builder_2);
//样式
SpannableString builder_3=new SpannableString(textView3.getText());
builder_3.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView3.setText(builder_3);
//图片表情
CharSequence text = "dsfdsfdddd[zem1]fdsfs";
SpannableStringBuilder builder = new SpannableStringBuilder(text);
String rexgString = "[zem1]";
Pattern pattern = Pattern.compile(rexgString);
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
builder.setSpan(
new ImageSpan(this, R.drawable.ic_launcher), matcher.start(), matcher
.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
textView4.setText(builder);
demo表情那里是仿陌陌表情,不详述。。。
demo地址:点击打开链接
SpannableStringBuilder 用法浅析以及仿陌陌表情的更多相关文章
- 移动端h5直播项目|html5直播实战开发|h5仿陌陌
最近一些直播.小视频什么的都比较火,像陌陌.抖音.火山短视频… 于是空闲时间自己也利用html5技术也试着倒腾了下直播项目,使用到了h5+css3+iscroll+zepot+swiper+wlsPo ...
- 基于vue+uniapp直播项目|uni-app仿抖音/陌陌直播室
一.项目简介 uni-liveShow是一个基于vue+uni-app技术开发的集小视频/IM聊天/直播等功能于一体的微直播项目.界面仿制抖音|火山小视频/陌陌直播,支持编译到多端(H5.小程序.Ap ...
- 社交类app开发( 仿陌陌 客户端+服务器端)
一.开发所需要的技术 手机端需要Android/iOS开发人员,服务器端需要php/数据库开发人员, 如果再做网页版的话,WEB开发也是要的. 即时通讯 GPS地图 群聊 差不多 对 http so ...
- 仿陌陌的ios客户端+服务端源码项目
软件功能:模仿陌陌客户端,功能很相似,注册.登陆.上传照片.浏览照片.浏览查找附近会员.关注.取消关注.聊天.语音和文字聊天,还有拼车和搭车的功能,支持微博分享和查找好友. 后台是php+mysql, ...
- 仿陌陌的ios客户端+服务端源码
软件功能:模仿陌陌客户端,功能很相似,注册.登陆.上传照片.浏览照片.浏览查找附近会员.关注.取消关注.聊天.语音和文字聊天,还有拼车和搭车的功能,支持微博分享和查找好友. 后台是php+mysql, ...
- Android spannableStringBuilder用法整理
Android spannableStringBuilder用法整理 分类: Android开发2013-11-29 10:58 5009人阅读 评论(0) 收藏 举报 Androidspannabl ...
- 一周 GitHub 开源项目推荐:阿里、腾讯、陌陌、bilibili……
阅读本文大概需要 2.8 分钟. 陌陌风控系统正式开源 陌陌风控系统静态规则引擎,零基础简易便捷的配置多种复杂规则,实时高效管控用户异常行为. GitHub 地址 https://github.com ...
- 微信、QQ、微博、陌陌……社交网络的底层逻辑是什么?
两 年前的社交产品泛滥犹在眼前,场景之胜几乎到了言必谈社交的地步.时任阿里新CEO陆兆禧举全集团之力,力推新社交产品“来往”,动作之大震惊整个互联 网.如今,陆兆禧早早退场,只留下一个硬汉的孤独背 ...
- 微信、陌陌等著名IM软件设计架构详解
对微信.陌陌等进行了分析,发出来分享一下(时间有些久了) 电量:对于移动设备最大的瓶颈就是电量了.因为用户不可能随时携带电源,充电宝.所以必须考虑到电量问题.那就要检查我们工程是不是有后台运行,心跳包 ...
随机推荐
- vim 查找整个工程
1. 使用vim内置搜索引擎 vimgrep 格式::vim /patern/gj ** 命令::vim 或者 :vimgrep 模式: 查询模式包含在 / / 之间 参数: g 表示将同一行搜到的关 ...
- 不使用while,for,if等实现加法
不使用if, while,for,switch等实现从1到10的加法 解:这里使用静态函数和静态变量实现,利用类似的方法也能够实现从1打印到1000 class TheSum{ public: The ...
- website link
error: template with C linkage http://blog.csdn.net/jiong_1988/article/details/7915420http://velep.c ...
- Numpy数组计算
NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. NumPy的主要功能 ndarray,一个多维数组结构,高效且节省空间 无需循环对整组数据进行快速运算的数学函数 ...
- BUAAOO P13-P14 UML Interaction
- jquery 效果网址分享
http://www.lanrentuku.com/js/ http://www.baidu.com/link?url=2nuImAliKGCKyDeJ7ln2DR_2if5uKgr-em6a3dx ...
- MySQL 存储过程 (2)
通过存储过程查询数据库返回条数操作 第一步:登录自定义用户建立存储过程需要调用测试用到的student表,具体操作如下 (1) 登录用户
- innodb的锁和高并发
1 innodb的锁 1.1 s锁,即读锁,即share锁 1.2 x锁,即写锁,排他锁 1.3 s锁和x锁之间的关系 多个读锁可以共存,但是读锁不可以和写锁共存.写锁和写锁不可以共存. 1.4 间隙 ...
- Local Response Normalization 60 million parameters and 500,000 neurons
CNN是工具,在图像识别中是发现图像中待识别对象的特征的工具,是剔除对识别结果无用信息的工具. ImageNet Classification with Deep Convolutional Neur ...
- 如何解决Apache无法启动的问题
今天重装xampp后,一直无法启动Apache,提示以下错误: 22:36:54 [Apache] Attempting to start Apache app...22:36:54 [Apache] ...