1 TextView tv= (TextView) findViewById(R.id.textview_z); String text="一段可以被点击点击的文字,文字可以变成图片"; SpannableString spannableString=new SpannableString(text); ImageSpan imagespan=new ImageSpan(MainActivity.this,R.mipmap.fu); //设置5-7之间的字符为图片 spannableString.setSpan(imagespan,5,7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //设置8-9之间的字符可以被点击 ClickableSpan click=new ClickableSpan() { @Override public void onClick(View widget) { Toast.makeText(MainActivity.this,"文字被点击了",Toast.LENGTH_SHORT).show(); } }; spannableString.setSpan(click,8,9,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); tv.setText(spannableString); //如果设置了文字的点击事件,就必须设置这个方法,文本的点击处理方法 tv.setMovementMethod(new LinkMovementMethod());

//edittext 也可以用spannableString
EditText edittext= (EditText) findViewById(R.id.edittext_z);
String htmlString = "<html>\n" +
" <head></head>\n" +
" <body>\n" +
" 哈哈哈\n" +
" <a href=\"http://m.oschina.net/u/993896\" class=\"referer\">@WoshiWo</a> 我点你了噢 \n" +
" </body>\n" +
"</html>";
//spanned 是 接口继承CharSequence ,把String 变成对象Html
final Spanned html = Html.fromHtml(htmlString);
SpannableString spannableString1=new SpannableString(html);
ImageSpan what1=new ImageSpan(MainActivity.this,R.mipmap.fu);
spannableString1.setSpan(what1,0,1,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
edittext.setText(spannableString1);
edittext.setMovementMethod(new LinkMovementMethod());
//spannableString.setSpan(what,5,7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
what参数可以设置下面的属性,来更改SpannableString的样式


SpannableString可以被点击的文字的更多相关文章

  1. 鼠标点击输入框文字消失 value placeholder 以及JQ实现效果 (仿京东的输入框效果)

    鼠标点击输入框文字消失 value实现方法  placeholder实现方法     以及JQ实现placeholder效果 <input type="text" value ...

  2. 点击按钮文字变成input框,点击保存变成文字

    <!DOCTYPE html><html lang="en"> <head> <meta http-equiv="Content ...

  3. jquery - 通过点击切换文字内容

    今天要写一个简单的显示/隐藏效果,本以为是挺简单的事儿,没想到还真因为基本功不扎实遇到了问题,这里跟大家分享一下. 百度了很多方法,精简能用的干货实在太少,最后还是通过去查jq的官方api才找到了解决 ...

  4. 点击复制文字到剪贴板兼容性安卓ios

    一般那种活动H5分享可能会用到点击复制文字到剪贴板,很简单的功能 于是搜了一搜:js复制文字到剪贴板,可用结果大致分为两类: 一类是js原生方法,这种方法兼容性不好,不兼容ios: https://d ...

  5. Android TextView 嵌套图片及其点击,TextView 部分文字点击,文字多颜色

    1. TextView 中嵌套图片的方法 TextView textView... textView.setText("..."); textView.append(Html.fr ...

  6. UITextView 点击添加文字 光标处于最后方

    #import "ViewController.h" @interface ViewController ()<UITextViewDelegate> @end @im ...

  7. jQuery插件之jquery editable plugin--点击编辑文字插件

    jeditable是一个jquery插件,它的优点是可以就地编辑,并且提交到服务器处理,是一个不可多得的就地编辑插件.(注: 就地编辑,也有称即时编辑?一般的流程是这样的,当用户点击网页上的文字时,该 ...

  8. Jeditable 点击编辑文字插件

    Jeditable - jQuery就地编辑插件使用   jeditable是一个jquery插件,它的优点是可以就地编辑,并且提交到服务器处理,是一个不可多得的就地编辑插件.(注: 就地编辑,也有称 ...

  9. Android开发经验之在图片上随意点击移动文字

    只要在图片范围之内,文字可随意点击移动. package xiaosi.GetTextImage; import android.content.Context; import android.con ...

随机推荐

  1. 序列化和反序列化的几种方式(DataContractSerializer)

    序列化和反序列化的几种方式(DataContractSerializer) DataContractSerializer 类 使用提供的数据协定,将类型实例序列化和反序列化为 XML 流或文档. 无法 ...

  2. 利用servicestack连接redis

    利用servicestack连接redis 引言:作为少有的.net架构下的大型网站,stackoverflow今日发表了一篇文章,介绍了其技术体系,原文链接http://highscalabilit ...

  3. python 调用 bash (python 调用linux命令)

    原文这里有显示地址:http://zhou123.blog.51cto.com/4355617/1312791 现在摘取一部分: 这里介绍一下python执行shell命令的四种方法: 1.os模块中 ...

  4. sql server常有的问题-实时错误'91' 对象变量或with块变量未设置

    这样的问题,对于我们这样的初学者来说,无疑是一个接触sql server后第一个艰难的问题,“实时错误'91' 对象变量或with块变量未设置”这句话到底透露出什么信息?直至写此博文,我依然看不出什么 ...

  5. 代码创建 WPF 旋转动画

    一.WPF窗体上有一个名为rectangle2的矩形 对应的XAML如下: <Window x:Class="WpfVideo.Window1"         xmlns= ...

  6. java.util.List 的大小

    今天在看API的时候,忽然看见List对象的size()方法返回的是int类型,于是就想知道是不是只能存放int的最大数值2147483647个. 但是,用自己电脑跑了一下,代码如下: public ...

  7. android openGl视频

    链接如下:http://download.csdn.net/detail/jltxgcy/5667345

  8. Linux进程分配内存的两种方式--brk() 和mmap()

    如何查看进程发生缺页中断的次数? 用ps -o majflt,minflt -C program命令查看. majflt代表major fault,中文名叫大错误,minflt代表minor faul ...

  9. java异常基础知识点

    @firstmiki 2017年1月12日12:03:32 一.异常的产生和捕获: package Exception; /** * 演示了java中异常的产生和捕获 * @firstmiki */ ...

  10. C语言之算数运算符

    一 什么是算数运算符 算术运算符: +:  就是把两个数据相加,得到和 -:  就是把两个数据相减,得到差 *:  就是把两个数据相乘,得到积 /:  就是把两个数据相除,得到商 %:  就是把两个数 ...