Android 给TextView的内容 添加跳转无下划线

String url = data.blockChainUrl; //https or http url
SpannableStringBuilder builder = new SpannableStringBuilder("");
int start = builder.length();
String content = mContext.getResources().getString(R.string.block_chain_query); //填充字体颜色
builder.append(content);
int end = builder.length();

builder.setSpan(new URLSpanNoUnderline(url) {
@Override
public void onClick(View widget) {
super.onClick(widget);
}
}, start, end, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
builder.setSpan(new ForegroundColorSpan(ContextCompat.getColor(mContext, R.color.color_a5ef44)), 0,
end, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
mBlockChainQuery.setText(builder);
//必须有的set mBlockChainQuery.setMovementMethod(LinkMovementMethod.getInstance());

//自定义一个URLSpan

class URLSpanNoUnderline extends URLSpan {
        public URLSpanNoUnderline(String url) {
            super(url);
        }
       @Override
        public void updateDrawState(TextPaint ds) {
            super.updateDrawState(ds);
            ds.setUnderlineText(false);
                        //you  self
        }
    }

原文地址:http://blog.51cto.com/360douruanliang/2147786

时间: 2024-08-03 09:26:03

Android 给TextView的内容 添加跳转无下划线的相关文章

android如果给TextView或EditText的email链接加下划线,并在点击在email连接上可以弹框显示

如何把textview的一些文字加上背景色: Spannable str = new SpannableString("#fdsfdfsdfdsfd#"); Matcher matcher = getEmailPattern().matcher((CharSequence) str); while (matcher.find()) { int start = matcher.start(); int end = matcher.end(); str.setSpan(new Foregr

Android TextView中实现点击文本超链接(无下划线)的封装类

android中有的时候须要在TextView上设置一些超链接,点击这些超链接时进行一些操作.比如新浪微博上的一些keyword,点击时会跳转到对应的页面. 怎样实现我们就直接看源代码吧. /** * * created by Mr.Simple, Aug 21, 20141:51:40 PM. * Copyright (c) 2014, hehonghui@umeng.com All Rights Reserved. * * ##################################

Android自己定义视图(一):带下划线的TextView

package com.francis.underlinetextviewtest; import android.content.Context; import android.content.res.Resources; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import an

Android中的TextView实现多行显示省略号以及下划线的实现

android:lines="2" android:ellipsize="end" 显示两行,多余部分…显示 textView.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG ); //下划线 textView.getPaint().setAntiAlias(true);//抗锯齿

android假设给TextView或EditText的email链接加下划线,并在点击在email连接上能够弹框显示

怎样把textview的一些文字加上背景色: Spannable str = new SpannableString("#fdsfdfsdfdsfd#"); Matcher matcher = getEmailPattern().matcher((CharSequence) str); while (matcher.find()) { int start = matcher.start(); int end = matcher.end(); str.setSpan(new Foregr

Android自定义无下划线ClickableSapn超链接文本样式

最近在做评论的时候需要实现这种效果网上百度了一下,就是自定义一个类继承4ClickableSpan,然后在updateDrawState方法中设置是否下划线为false,但是看了一下网上实现的方法是直接在新类的OnClick方法中实现onClick操作,感觉不太容易扩展使用,于是我自定义了一个接口,通过接口实现了外部代码调用,具体代码如下: public class NoLineClickableSpan extends ClickableSpan{ private IOnNoLineTextC

textview的一些设置 删除线 省略号 下划线 字体变化等

//字体改变 textView.setTypeface(Typeface.createFromAsset(getAssets(), "STHUPO.TTF")); STHUPO.TTF可自行到网上下载字体文件,然后放入assets文件中即可 //删除线 textView.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG ); //省略号 只需要下边的设置: textview.setSingleLine(); textview.setEll

TextView 设置无下划线超链接

// 设置无下划线超链接 start String textStr = "13771839951;021-12345678"; text.setAutoLinkMask(Linkify.PHONE_NUMBERS); text.setText(textStr); Spannable s = (Spannable) text.getText(); s.setSpan(new UnderlineSpan() { @Override public void updateDrawState(T

android:为TextView添加样式——下划线,颜色,设置链接样式及前背景色

实现下划线及颜色设置: public class AtActivity extends Activity { LinearLayout ll; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); l