private void changeLoginText() {
String str = (String) getResources().getText(R.string.login_text);//对应完整的文字
SpannableStringBuilder ssb = new SpannableStringBuilder(str);
final int start = str.indexOf("《");
String tt1 = "《使用协议》";
ssb.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
//用户服务协议点击事件
WebViewAgreement.skip(mContext,
"xxx",
"使用协议");
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
//设置文件颜色
ds.setColor(Color.parseColor("#257CF8"));
// 去掉下划线
ds.setUnderlineText(false);
}
}, start, start + tt1.length(), 0);
//最后一个出现的位置
final int end = str.lastIndexOf("《");
String tt2 = "《隐私政策》";
ssb.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
//隐私协议点击事件
WebViewAgreement.skip(mContext,
"https://xxx.html",
"隐私政策");
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
//设置文件颜色
ds.setColor(Color.parseColor("#257CF8"));
// 去掉下划线
ds.setUnderlineText(false);
}
}, end, end + tt2.length(), 0);
tvLoginText.setMovementMethod(LinkMovementMethod.getInstance());
tvLoginText.setText(ssb);
}
SpannableStringBuilder改变TextView中的颜色,附加点击事件
最新推荐文章于 2024-07-19 21:00:26 发布
该代码段展示了如何在Android中创建可点击的文本,包括《使用协议》和《隐私政策》。点击事件分别触发WebView加载相应的协议页面,同时设置了文字颜色和去除下划线。
1867

被折叠的 条评论
为什么被折叠?



