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

来源:互联网 发布:win10优化设置教程 编辑:程序博客网 时间:2024/05/21 06:41

写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完成。
11 1
原创粉丝点击