Spannable相关方法
实现文本链接
其中tv是TextView类型的控件。只需写java代码即可实现链接,无需在xml文件中进行其他的设置。
- SpannableString spanTxt = new SpannableString("欢迎访问我的博客——Killerlegend的博客……");
- spanTxt.setSpan(new URLSpan("http://www.cnblogs.com/killerlegend/"), 0, spanTxt.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
- tv.append("\n"+"\n"+"\n");
- tv.append(spanTxt);
- //让URLSpan可以点击
- tv.setMovementMethod(new LinkMovementMethod());
setSpan方法的定义如下:
public abstract void setSpan (Object what, int start, int end, int flags)
flags含义请参见:
https://developer.android.com/reference/android/text/Spanned.html
下面说几种比较常用的flags,关于下面的这几种flags的意义,都是指定对于在span中新加入字符时如何处理的。
public static final int SPAN_EXCLUSIVE_EXCLUSIVE
public static final int SPAN_POINT_MARK
以上两者等价。均不包含文本首尾。即在该文本的首尾加入新的字符,那么span的设置是不会应用到新加入的字符的。以下其他可以类比推理。
public static final int SPAN_EXCLUSIVE_INCLUSIVE
不包含首,包含尾。
public static final int SPAN_INCLUSIVE_EXCLUSIVE
包含首,不包含尾。
public static final int SPAN_INCLUSIVE_INCLUSIVE
public static final int SPAN_MARK_POINT
以上两者等价。均包含首尾。
常见的Object有:
URLSpan():其中可以为一个网址或者电话号,用于链接比如:
URLSpan("tel:1008611")
BackgroundColorSpan(Color.parseColor(String para))
ForegroundColorSpan(Color.parseColor(String para))
分别用于设置span的背景前景色,其中的para为字符类型。
……(后续仍会加入……)
最后不要忘记了:
Object.setMovementMethod(LinkMovementMethod.getInstance());
Object.setText(span)
以应用span。
Spannable相关方法的更多相关文章
- Index of my articles
65:一个表格说明RelativeLayout中的几个重要属性[Written By KillerLegend] (2013-10-16 21:59) 64:win7修改软件[授权给…]后面的名称 ( ...
- Android中View绘制流程以及invalidate()等相关方法分析
[原文]http://blog.csdn.net/qinjuning 整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简 ...
- 解决数据标准及质量AppScan(测试)安全性问题相关方法
1. SQL注入文件写入(需要用户验证) 解决办法:通过建立过滤器方法,对所有用户输入信息进行清理过滤.通过清理过滤用户输入所包含的危险字符,便可能防止恶意的用户导致应用程序执行计划外的任务,例如:启 ...
- Hibernate之Session对象的相关方法以及持久化对象的状态
一.持久化对象的状态 站在持久化的角度, Hibernate 把对象分为 4种状态: 持久化状态,临时状态,游离状态,删除状态.Session 的特定方法能使对象从一个状态转换到另一个状 ...
- Hibernate之Session缓存以及操作Session缓存的相关方法
1.Session概述 A.Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载 Java 对象的方法. B. Sessio ...
- Android中View绘制流程以及invalidate()等相关方法分析(转载的文章,出处在正文已表明)
转载请注明出处:http://blog.csdn.net/qinjuning 前言: 本文是我读<Android内核剖析>第13章----View工作原理总结而成的,在此膜拜下作者 .同时 ...
- TextView使用Spannable设置复合文本
http://blog.csdn.net/linghu_java/article/details/32053167 Spannable 对文字的编辑减少TextView的拼接并且达到改变一串字符中的部 ...
- Android在View拉丝工艺和invalidate()和其他相关方法
转载请注明出处:http://blog.csdn.net/qinjuning 前言: 本文是我读<Android内核剖析>第13章----View工作原理总结而成的,在此膜拜下作者 . ...
- Android-----View绘制流程以及invalidate()等相关方法分析 .
引自:http://blog.csdn.net/qinjuning/article/details/7110211 前言: 本文是我读<Android内核剖析>第13章----View工作 ...
随机推荐
- mysql前n条查询
可以利用——LIMIT——来完成这项功能. LIMIT可以实现top N查询,也可以实现M至N(某一段)的记录查询,具体语法如下: SELECT * FROM MYTABLE ORDER BY AFI ...
- 2dx解析cocosbuilder中使用layer时的缺陷
2dx解析cocosbuilder中使用layer时的缺陷 cocos2d-x 3.7 cocosbuilder中的layer通常会用到触摸属性: 但是在2dx解析布局文件的时候,却很多属性都没解析: ...
- react-redux-react-router直通车
简单说明 这篇文章是我学习react一个多月来的总结,从基础开始(包括编辑器设置,构建工具搭建),一步一步走向react开发.相信我,看完这篇文章,跟着文章的步骤走,保证让你入门react并爱上rea ...
- HTML超出文本显示省略号...[text-overflow]
需要对div或者span同时应用Css: text-overflow:ellipsis; white-space:nowrap; overflow:hidden; 即可实现所想要得到的溢出文本显示省略 ...
- Kinect For Windows V2开发日志一:开发环境的配置
算是正式进军Kinect了,前段时间学的东西现在就忘了,于是从此开始记录一下. 目前为止大部分的学习资料来自于Heresy的博客,写的非常优秀,清晰明了,十分感谢.开发语言为C++,应该会一直使用,但 ...
- 初识 Asp.Net内置对象之Session对象
Session对象 Session对象用于存储在多个页面调用之间特定用户的信息.Session对象只针对单一网站使用者,不同的客户端无法相互访问.Session对象中止联机机器离现时,,也就是当网站使 ...
- Houdini FX 14 重磅推出!(附下载方式)
把之前发布在新浪的博客搬过来了,新浪广告太多,影响阅读和观感,博客园很清净~ SideFX于2015年1月在官网发布Houdini FX 14,喜爱尝鲜.充满好奇心的我迫不及待的装上Apprentic ...
- pip在windows域下使用代理安装package方法
首先说明下,本人在公司使用windows域账户代理上网,用pip在线安装package 返回ProxyError,类似Tunnel connection failed: 407 authenticat ...
- (转)MongoDB 实现currentOp定时捕获
问题描述: 当分析生产环境发生的性能问题时,常常因为没有实时的依据而无从下手.那么笔者通过捕获db.currentOp()到文件,并作为定时任务,可供后续分析. 解决方法: 步骤一:Shell脚本记录 ...
- javascript笔记——jquery.each中使用continue和break的方式
jQuery.each中continue的方式是 return true break 的方式是return false