Android 给TextView 中 部分文字加下划线 并加入超链接(可点击)

Android 本身自带的TextView 并没有直接的方法可以给文字加下划线和可点击的超链接,使用以下方法即可实现:

 /**
     *
     * @param content   文字内容    
     * @param textView  加载文字的textview
     */

private void callService(String content, TextView textView) {
    SpannableStringBuilder builder = new SpannableStringBuilder(content);
    int i = content.indexOf("1");//截取文字开始的下标
    builder.setSpan(new ClickableSpan() {
        @Override
        public void onClick(View widget) {
            //点击后的操作
            CommonUtils.call(mContext, "12351");
        }

        @Override
        public void updateDrawState(TextPaint ds) {
            super.updateDrawState(ds);
            ds.setColor(getResources().getColor(R.color.text_blue_color));       //设置文字颜色
            ds.setUnderlineText(true);      //设置下划线//根据需要添加
        }
    }, i, i + 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    textView.setHighlightColor(Color.TRANSPARENT); //设置点击后的颜色为透明,否则会一直出现高亮
    textView.setText(builder);
    textView.setMovementMethod(LinkMovementMethod.getInstance());
}

猜你喜欢

转载自blog.csdn.net/yuzhidao/article/details/82625183