您的位置:首页 > 其它

设置TextView下划线并响应点击事件(SpannableString)

2015-02-15 17:27 495 查看

写Demo程序的时候能表带自己定义的数据结构对象吗?

--低级程序员



前情提要:网上介绍TextView+SpannableString的文章真心太长,真心看不懂。

====原文=====

以下是一个20行的完整Demo代码:基本原理是使用一个SpannableString并设置其ClickableSpan来响应点击事件。

TextView useInfo = (TextView) findViewById(R.id.info);
String url_0_text = "用户协议及隐私条款";
useInfo.setText("開始即表示您允许遵守");

SpannableString spStr = new SpannableString(url_0_text);

spStr.setSpan(new ClickableSpan() {
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setColor(Color.WHITE);       //设置文件颜色
ds.setUnderlineText(true);      //设置下划线
}

@Override
public void onClick(View widget) {
Log.d("", "onTextClick........");
}
}, 0, url_0_text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

useInfo.setHighlightColor(Color.TRANSPARENT); //设置点击后的颜色为透明,否则会一直出现高亮
useInfo.append(spStr);
useInfo.setMovementMethod(LinkMovementMethod.getInstance());//開始响应点击事件

Demo完毕。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: