TextView中实现部分文字点击
在开发过程中有时候需要实现TextView部分文字的点击效果,实现该功能可以自定义文本控件,也可以用android源生api实现
1、SpannableString是CharSequence接口的实现类,同时它也实现了Spannable接口;
①SpannableString通过setSpan方法可以设置TextView文本的各种样式,包括文本中插入图片(ImageSpan),前景色(ForegroundColorSpan),背景色(BackgroundColorSpan)等
②SpanableString也可以通过设置ClickableSpan设置某一些文字可以被点击
③复写ClickableSpan中的方法
ClickableSpan click = new ClickableSpan() {@Overridepublic void onClick(View widget) {Toast.makeText(OptionalInfoActivity.this, "该功能尚未实现",Toast.LENGTH_SHORT).show();}@Overridepublic void updateDrawState(TextPaint ds) {ds.setUnderlineText(false);ds.clearShadowLayer();ds.setColor(getResources().getColor(R.color.custom_blue));ds.setStrokeMiter(3);}};
View Code
④
SpannableString spannable = new SpannableString(text);ClickableSpan click = new ClickableSpan() {@Overridepublic void onClick(View widget) {Toast.makeText(OptionalInfoActivity.this, "该功能尚未实现",Toast.LENGTH_SHORT).show();}@Overridepublic void updateDrawState(TextPaint ds) {ds.setUnderlineText(false);ds.clearShadowLayer();ds.setColor(Color.RED);} };spannable.setSpan(click,start,end,SpannableString.SPAN_INCLUSIVE_INCLUSIVE);
View Code
TextView.setText(spannable);
api文档中说道If an object of this type is attached to the text of a TextView with a movement method of LinkMovementMethod, the affected spans of text can be selected. If clicked, the onClick(View)
method will be called.
故还必须给这个TextView设置 TextView.setMovementMethod(LinkMovementMethod.getInstance());
转载于:https://www.cnblogs.com/Professionalbutcher/p/3628009.html
TextView中实现部分文字点击相关推荐
- 在Textview中获取指定文字位置(兼顾网址链接和emoji表情),并在其附近展示图片
本文主要讲在Textview中获取指定文字的位置,最后,附带一点文字宽高的测量. 下面,我会给出全部源码.自己建个demo,复制进去就能跑起来. 先强调一下,不建议在ListView中使用.最好是在一 ...
- Android TextView中设定个别文字字体显示格式
Android TextView中设定个别文字字体显示格式 文章分类:移动开发 用Html来格式化字符,例如要实现如下的显示: "这只是一个测试字符串,测试黑体字.斜体字.下划线.红色字的显示." 可 ...
- java textview多行_java-Android在textview中多个可点击的字符串
我正在创建一个小型 Android应用程序.我想在textview中显示一个文本,其中包含多个要单击的部分. (每个都应显示一些不同的消息) 最终,我设法找到了如何在一个textview中显示多个跨度 ...
- android 字体点击变色,Android TextView 中实现部分文字变色以及点击事件
首先要想实现文字变色以及点击,都需要使用到SpannableStringBuilder,实例化该类也很简单,只需将你想要处理的字符串当做参数 SpannableStringBuilder spanna ...
- 安卓TextView中改变部分文字颜色的几种方式
1. 第一种使用SpannableStringBuilder //部分文字改变颜色 //ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色 For ...
- Android TextView中改变部分文字颜色的几种方式
1. 第一种使用SpannableStringBuilder //部分文字改变颜色 //ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色 For ...
- android clickablespan listview,解决TextView中ClickableSpan点击事件
需求背景: 在TextView中包含局部可点击的链接,且改链接其他地方也是有相应的点击事件 其实需求比较合理,实现也应该不难,于是简单的demo如下: TextView content = (Text ...
- 浅谈ClickableSpan , 实现TextView文本某一部分文字的点击响应
超文本:http://www.baidu.com 这么一个效果:一行文本当中 前面显示黑色颜色的"超文本:",后面显示红色颜色的"http://www.baidu.com ...
- android 自定义span_Android自定义可点击的ImageSpan并在TextView中内置View
有的时候可能想在TextView中添加一些图片,比如下图,发短信输入联系人时,要把联系人号码换成一个图片,但这个图片无法用固定的某张图,而是根据内容进行定制的,这更像一个view. 当然,如果你不是v ...
最新文章
- minor gc和Major GC,Full GC的触发条件
- php用户鉴权,app开发之鉴权 PHP版
- 发布开源库的踩坑经历:jitpack.io
- RabbitMQ 消息队列六种模式
- 解决iOS地图持续定位耗电问题
- 数据结构----顺序表与单链表(JAVA)
- lambda表达式浅析【C++学习笔记】
- python打印文件到字符串_请问Python打印字符串到文本文件
- 【论文写作】在线考试系统的设计原理如何写
- 【MFC学习笔记-作业7-小型画图软件】【】
- 浅谈扩展欧几里得算法
- ILSVRC-ImageNet历年竞赛冠军
- 基于Matlab的随机森林算法实现(附算法介绍及代码详解)
- 各大IT公司、软件公司员工等级(级别)及薪资
- 方差、标准差、均方根误差、平均绝对误差的总结
- 电脑的一些基本常识和简单操作
- JavaScript工具函数(一)
- JAVA就业培训班一周有感杂记
- 弘辽科技:拼多多类目选错了有什么影响?怎么办?
- 古诗词 中文 分词 自动化
热门文章
- 北林oj-算法设计与分析-Tom palindrome number
- 使用redis做缓存,遇到Could not return the resource to the pool异常怎么办呐!
- oracle 7 客户端,windows 7环境下配置oracle 11g 客户端
- Web中树形数据(层级关系数据)的实现—以行政区树为例
- 手机短号(hdu2081)
- struts2.1笔记02:servlet简介
- windbg学习----r?
- ubuntu通过vmware与访问宿主的文件
- sql cast()函数
- Visual Studio 2005 Web Application Projects