先看效果图:
[img]http://dl2.iteye.com/upload/attachment/0107/7548/c6cc51cb-8c6d-383b-a4ab-a754f09c46e1.png[/img]
实现代码,很简单的:
使用:
如果要修改点击效果颜色,参考:http://www.itstrike.cn/Question/2d355020-8e84-45ed-8d29-81da2a2ee43a.html
[img]http://dl2.iteye.com/upload/attachment/0107/7548/c6cc51cb-8c6d-383b-a4ab-a754f09c46e1.png[/img]
实现代码,很简单的:
private SpannableString getClickableSpan(String text) {
View.OnClickListener l = new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("jerome","click");
}
};
SpannableString spanableInfo = new SpannableString(text);
int start = spanableInfo.length() - 4;
int end = spanableInfo.length();
spanableInfo.setSpan(new Clickable(l), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
return spanableInfo;
}
class Clickable extends ClickableSpan {
private final View.OnClickListener mListener;
public Clickable(View.OnClickListener l) {
mListener = l;
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(Color.RED);//文本颜色
ds.setUnderlineText(false);//是否有下划线
ds.bgColor = Color.WHITE;//背景颜色
}
@Override
public void onClick(View v) {
if (null != mListener) {
mListener.onClick(v);
}
}
}
使用:
mTextView.setText(getClickableSpan("数据获取失败,点击重新加载"));
mTextView.setMovementMethod(LinkMovementMethod.getInstance());
如果要修改点击效果颜色,参考:http://www.itstrike.cn/Question/2d355020-8e84-45ed-8d29-81da2a2ee43a.html