我有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);
总结以上是内存溢出为你收集整理的如何从android中的超链接文本中删除下划线?全部内容,希望文章能够帮你解决如何从android中的超链接文本中删除下划线?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)