Android 中TextView部分文字颜色、点击跳转设置

weileek 2015-03-16 10:53:24
需要了这样一个需求:在点击提交按钮的之前,客户需要点击已阅读两个说明书。
实现如下:在一个textview中有两部分文字要颜色要与默认颜色不一样,并且可以点击,并跳转到不同的页面。
如下图:蓝色和红色部分是可以点击的,并且跳转到不同的页面。其实也可以跳到同一个页面,传一个可辨识的tag就可以。

点击蓝色的跳到:TwoActivity

点击红色的跳到:SSSActivity


部分代码如下:

package com.weileek.mytextview;

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.text.TextPaint;
import android.text.style.ClickableSpan;
import android.view.View;

public class ShuoMClickableSpan extends ClickableSpan {

String string;
Context context;
public ShuoMClickableSpan(String str,Context context){
super();
this.string = str;
this.context = context;
}


@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(Color.BLUE);
}


@Override
public void onClick(View widget) {
Intent intent
= new Intent();
intent.setClass(context, TwoActivity.class);
context.startActivity(intent);

}

}


activity实现代码:

TextView textView = (TextView) findViewById(R.id.textView);
String ttt = "嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻";
String sss = "哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈";
SpannableString spanttt = new SpannableString(ttt);
SpannableString spansss = new SpannableString(sss);
ClickableSpan clickttt = new ShuoMClickableSpan(ttt, this);
ClickableSpan clicksss = new CopyOfShuoMClickableSpan(ttt, this);
spanttt.setSpan(clickttt, 0, ttt.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
spansss.setSpan(clicksss, 0, sss.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
textView.setText("哈哈");
textView.append(spanttt);
textView.append("你是谁你谁你是谁你谁你是谁你谁");
textView.append(spansss);
textView.append("你是谁你谁你是谁你谁你是谁你谁你是谁你谁你是谁你谁");
textView.setMovementMethod(LinkMovementMethod.getInstance());

具体实现:见demo
http://yunpan.cn/cZmbyUZgWtEd8 提取码 1f47
...全文
26152 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
xy_rk 2015-11-05
  • 打赏
  • 举报
回复
请问设置加粗后如何取消加粗
Best_Revin 2015-05-18
  • 打赏
  • 举报
回复
楼主这个可以实现,但是有个问题:就是进入页面之后跳转activity 只能跳转一次.

58,452

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧