如何在Android中更改带下划线的字体颜色

时间:2011-12-06 06:30:45

标签: java android html

Android应用中的网站链接字体颜色有问题。请参阅以下代码:

 Email.setText(Html.fromHtml("W : "+"<u>" +Email1+ "</u>"));

我可以更改带下划线的Email1文字的字体颜色而不更改 W:颜色吗?

是否可以在"<u>" +Email1+ "</u>"内使用任何HTML标记来更改字体颜色。请帮助我提出您的想法/代码。提前谢谢。

5 个答案:

答案 0 :(得分:8)

You can use like this
Email.setText(Html.fromHtml("W : "+"<u><FONT COLOR=\"#80776b\" >"+Email1+"</Font></u>"));
 Use color code what you want.

答案 1 :(得分:2)

仅仅因为我们可以使用SpannableStringBuilder添加“手动”方法来生成完全相同的输出:

String wText = "W : ";
String underlineText = "email@address.com";

SpannableStringBuilder ssb = new SpannableStringBuilder();
ssb.append(wText);
ssb.append(underlineText);
ssb.setSpan(new UnderlineSpan(), ssb.length()-underlineText.length(), ssb.length(), 
    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
ssb.setSpan(new TextAppearanceSpan("normal", android.R.style.TextAppearance_Medium, 14, 
    ColorStateList.valueOf(Color.RED), ColorStateList.valueOf(Color.RED)),
    ssb.length()-underlineText.length(), ssb.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

TextView tv1 = (TextView) findViewById(R.id.spannable_text1);
tv1.setText(ssb);

TextView tv2 = (TextView) findViewById(R.id.spannable_text2);
tv2.setText(Html.fromHtml(wText + "<u><font color=\"#FF0000\">" + underlineText + "</font></u>"));

enter image description here

顺便说一句,您也可以将其设为可点击的链接,而不是仅显示电子邮件地址。你知道吗:)

答案 2 :(得分:1)

使用setTextColor标签更改文本的颜色

例如:

Email.setTextColor(Color.RED);
         Email.setText(Html.fromHtml("W : "+"<u>" +"this is test"+ "</u>"));

答案 3 :(得分:1)

我相信这对你有用,你想这样吗?

    String styledText = "W: "+"<u>" + "<font color='red'>Email1</font> "+"</u>";
    Email.setText(Html.fromHtml(styledText), TextView.BufferType.SPANNABLE);

答案 4 :(得分:1)

这是我猜的最简单的解决方案......

Email.setText(Html.fromHtml("W : "+"<u  style=\"color:#80776b\">"+Email1+"</u>"));