TextView中的部分文字自定义颜色和点击事件(类似新浪微博带颜色的可点击字体)
2016-05-25 09:24
435 查看
需求:
一段文字中有带颜色的字体且可以点击。
步奏如下:
1. SpannableString 类。
SpannableString spanS=new SpannableString(str);
2. ClickableSpan接口。
spanS.setSpan(new ClickableSpan() {
//定义点击
@Override
public void onClick(View widget) {
}
//改变字体样式
@Override
public void updateDrawState(TextPaint ds) {
int red=0xFC3342;
ds.setColor(red);
}
}, 4, spanS.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
3.给TextView设置SpannableString。
priceTv.setText(spanS);
//必须加此代码,否则点击事件不会执行。
priceTv.setMovementMethod(LinkMovementMethod.getInstance());
一段文字中有带颜色的字体且可以点击。
步奏如下:
1. SpannableString 类。
SpannableString spanS=new SpannableString(str);
2. ClickableSpan接口。
spanS.setSpan(new ClickableSpan() {
//定义点击
@Override
public void onClick(View widget) {
}
//改变字体样式
@Override
public void updateDrawState(TextPaint ds) {
int red=0xFC3342;
ds.setColor(red);
}
}, 4, spanS.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
3.给TextView设置SpannableString。
priceTv.setText(spanS);
//必须加此代码,否则点击事件不会执行。
priceTv.setMovementMethod(LinkMovementMethod.getInstance());
相关文章推荐
- Bootstrap相关整理、免费主题整理
- vim-我的利器
- 关于PraparedSatement的问题
- MySQL数据库连接基本流程
- 一台电脑同时安装不同的python、django版本
- 赋值号和printf
- Android中处理崩溃异常和记录日志
- vue.js+boostrap
- initWithCoder: 与initWithFrame:的区别
- 非常无力
- inux下rz、sz的简单安装
- iOS UIScrollView 你可能不知道的奇技淫巧
- git fetch与git pull的区别--多用git fetch
- Preferences.sublime-settings
- 【网络】HTTP2.0新特性
- Python学习笔记-day0
- 使用jdbc操作mysql数据库
- React-TodoList
- 常见的数字证书格式与格式转换
- 源码解析之–网络层YTKNetwork