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

需要了这样一个需求:在点击提交按钮的之前,客户需要点击已阅读两个说明书。
实现如下:在一个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点击打开链接

访问密码 1f47

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weileek

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值