需要了这样一个需求:在点击提交按钮的之前,客户需要点击已阅读两个说明书。
实现如下:在一个textview中有两部分文字要颜色要与默认颜色不一样,并且可以点击,并跳转到不同的页面。
如下图:蓝色和红色部分是可以点击的,并且跳转到不同的页面。其实也可以跳到同一个页面,传一个可辨识的tag就可以。
点击蓝色的跳到:TwoActivity
点击红色的跳到:SSSActivity
部分代码如下:
activity实现代码:
实现如下:在一个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