微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从android中的超链接文本中删除下划线?

我有Button及其文本,我从string.xml中检索它,即
我在strings.xml中的res / values中声明了一个Button文本

<string name="Google"><a href=""http://www.google.com\">Google</a></string>

我将其文本颜色从蓝色删除为白色,但如何删除其下划线?
在我的.java文件中,我只使用setMovementMethod(LinkMovementMethod.getInstance());使链接clickabale …我没有使用Linkify,webview或任何类似form.Html …
一切正常.我只想删除“Google”文字下方的下划线…
有没有办法在xml中执行此操作?

我甚至使用了android:autoLink =“all”.但是当我使用它时,文本和按钮的颜色会发生变化,我不希望这样.

请帮忙.

解决方法:

TextView text=(TextView) findViewById(R.id.text);   

    String value = "<html> click to go <font color=#757b86><b><a href=\"http://www.google.com\">google</a></b></font> </html>";
Spannable spannedText = (Spannable)
                Html.fromHtml(value);
text.setMovementMethod(LinkMovementMethod.getInstance());

Spannable processedText = removeUnderlines(spannedText);
        text.setText(processedText);

这是你的removeUnderlines()

public static Spannable removeUnderlines(Spannable p_Text) {  
               URLSpan[] spans = p_Text.getSpans(0, p_Text.length(), URLSpan.class);  
               for (URLSpan span : spans) {  
                    int start = p_Text.getSpanStart(span);  
                    int end = p_Text.getSpanEnd(span);  
                    p_Text.removeSpan(span);  
                    span = new URLSpanNoUnderline(span.getURL());  
                    p_Text.setSpan(span, start, end, 0);  
               }  
               return p_Text;  
          }  

还创建类URLSpanNoUnderline.java

import co.questapp.quest.R;
import android.text.TextPaint;
import android.text.style.URLSpan;

public class URLSpanNoUnderline extends URLSpan {
    public URLSpanNoUnderline(String p_Url) {
        super(p_Url);
    }

    @Override
    public void updateDrawState(TextPaint p_DrawState) {
        super.updateDrawState(p_DrawState);
        p_DrawState.setUnderlineText(false);
        p_DrawState.setColor(R.color.info_text_color);
    }
}

使用此行您还可以更改该文本的颜色p_DrawState.setColor(R.color.info_text_color);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐