android textview可以设置文字颜色 部分文字点击事件处理

来源:互联网 发布:java反射调用方法 this 编辑:程序博客网 时间:2024/05/07 16:41

最近在做项目中有一个注册的界面,我们知道注册是有同意什么协议的,比如你去下载一个软件安装后,会提示你是否同意这个协议,同意后才能安装,而注册是点击后会弹框给你看,这个协议都讲了那些东西!如图:


关于这个没什么逻辑,知道怎么使用就可以,现在把代码贴上!

class TextClickableSpan extends ClickableSpan{
private Context mContext;
private String content;
public TextClickableSpan(Context mContext, String content) {
super();
this.mContext = mContext;
this.content = content;
}
@Override
public void onClick(View widget) {
showToast("我被点击了");
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.bgColor = R.color.topbar_color;
ds.setColor(UIUtils.getColor(R.color.set_left_text_color));
ds.setUnderlineText(true);
}

}

使用:

String content = UIUtils.getString(R.string.register_msg);
TextClickableSpan span = new TextClickableSpan(this, content);
SpannableString spanString = new SpannableString(content);
int start = content.length()-5;
int end = content.length();
   
spanString.setSpan(span, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv_user_protocol.setText(spanString);
tv_user_protocol.setMovementMethod(LinkMovementMethod.getInstance());


0 0
原创粉丝点击