clickableSpan实现textView文字部分点击有响应
先定义一个clickableSpan的子类
 class MyClickText extends ClickableSpan{
         private Context context;
         public MyClickText(Context context) {
             this.context = context;
         }
         @Override
         public void updateDrawState(TextPaint ds) {
             super.updateDrawState(ds);
             //设置文本的颜色
             ds.setColor(Color.RED);
             //超链接形式的下划线,false 表示不显示下划线,true表示显示下划线
             ds.setUnderlineText(false);
         }
         @Override
         public void onClick(View widget) {
             Toast.makeText(context,"发生了点击效果",Toast.LENGTH_SHORT).show();
         }
     }
然后是在textView中的使用
private TextView clicktext;
clicktext = (TextView) findViewById(R.id.clicktext);
SpannableString str = new SpannableString("超文本:http://www.baidu.com");
str.setSpan(new MyClickText(this),4,str.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//当然这里也可以通过setSpan来设置哪些位置的文本哪些颜色
clicktext.setText(str);
clicktext.setMovementMethod(LinkMovementMethod.getInstance());//不设置 没有点击事件
clicktext.setHighlightColor(Color.TRANSPARENT); //设置点击后的颜色为透明
clickableSpan实现textView文字部分点击有响应的更多相关文章
- 在做nav-bar部分点击路由跳转相同地址时,控制台报错问题。
		报错信息: Uncaught (in promise) NavigationDuplicated {_name: "NavigationDuplicated", name: &qu ... 
- 浅谈ClickableSpan , 实现TextView文本某一部分文字的点击响应
		超文本:http://www.baidu.com 这么一个效果:一行文本当中 前面显示黑色颜色的“超文本:”,后面显示红色颜色的“http://www.baidu.com” 并且要求红色字体的部分可以 ... 
- iOS开发小技巧 - label中的文字添加点击事件
		Label中的文字添加点击事件 GitHub地址:https://github.com/lyb5834/YBAttributeTextTapAction 以前老师讲过类似的功能,自己懒得回头看了,找了 ... 
- Android:TextView文字跑马灯的效果实现
		解决TextView文字显示不全的问题. 简单设置跑马灯的效果: <TextView android:id="@+id/textView" android:layout_wi ... 
- Android TextView 文字居中
		有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:m_TxtTitle.setGravity( ... 
- 设置TextView文字居中
		有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:m_TxtTitle.setGravity( ... 
- 【转】设置TextView文字居中
		原文网址:http://blog.csdn.net/lanpy88/article/details/6616924 有2种方法可以设置TextView文字居中: 一:在xml文件设置:android: ... 
- TextView过长显示省略号, TextView文字中间加横线
		1.TextView显示的内容过长时自动显示省略号: 省略号的位置:android:ellipsize="end" 省略号在结尾android:ellipsize=" ... 
- Android进阶(二十二)设置TextView文字水平垂直居中
		设置TextView文字水平垂直居中 有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:m_T ... 
随机推荐
- 趣味编程:静夜思(Swift版)
			func verticalWriting(txt:String, offset:Int) { Dictionary(grouping: txt.enumerated(), by: {$0.0 % of ... 
- delphi通过TADOConnection组件直接连接MSSQL数据库并读写数据。
			unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ... 
- C++  AfxBeginThread和AfxEndThread  使用方法
			启动线程: CWinThread* AfxBeginThread( 线程函数,this ); 线程的退出: 在刚刚使用的时候,退出线程的方法有问题,导致退出的时候异常. 下面说线程退出的方法: 1. ... 
- 在windows上通过ssh远程链接linux服务器[转]
			本文分别转自 [http://jingyan.baidu.com/article/6d704a130de40e28db51cab5.html] [http://www.cnblogs.com/mliu ... 
- CentOS添加环境变量
			添加这个两个路径:/usr/local/webserver/python/bin:/usr/local/webserver/mysql/bin 方法一:直接运行命令export PATH=$PATH: ... 
- 十分钟搞定pandas
			转至:http://www.cnblogs.com/chaosimple/p/4153083.html 本文是对pandas官方网站上<10 Minutes to pandas>的一个简单 ... 
- ivew  表格中的input数据改变就会失去焦点
			主要有两种解决办法: 1.创建一个临时空数组创建一个临时空数组,render内操作的是这个空数组内的对象,然后监听这个临时空数组,在赋值给table组件的data,render内操作的是这个空数组内的 ... 
- ssh架构之hibernate(五)hql语句狂练
			1.练习题 1.查询所有商品的名称[查询特定属性](只有一个参数的话可以使用List<String>接收数据)2.查询所有商品的名称和供应商[查询特定属性](多个参数可以使用List< ... 
- CentOS上开启MySQL远程访问权限
			在CentOS上安装完MySQL后,默认不开始远程访问控制.可以进行如下设定开启. 登录MySQL: mysql -uroot -p 如需修改密码,第一次: mysqladmin -u root pa ... 
- 2.5、CDH 搭建Hadoop在安装(设置Cloudera Manager数据库)
			步骤5:设置Cloudera Manager数据库 Cloudera Manager Server包含一个可以为自己创建和配置数据库的脚本.该脚本可以: 创建Cloudera Manager Serv ... 
