如何在Android中突出显示TextView

时间:2015-05-27 13:47:27

标签: android string textview spannablestring

我想强调TextView并实现下面显示的设计。 有谁知道如何使用TextView实现这一目标? 我从现有的Android应用程序中截取了此屏幕截图。

enter image description here

通过使用此代码,我得到的结果如下所示,这不是我想要的:

sp.setSpan(new BackgroundColorSpan(color), start, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

enter image description here

2 个答案:

答案 0 :(得分:2)

您需要使用Spannable String:

TextView textView = (TextView)findViewById(R.id.textView1);
String  text = "Test"; 
Spannable spanText = Spannable.Factory.getInstance().newSpannable(text);
spanText.setSpan(new BackgroundColorSpan(0xFFFFFF00), 14, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spanText);

试试这个。这将有效。

答案 1 :(得分:1)

如果我理解正确,您想要用浅色突出显示文字?如果是这种情况,那么只需更改颜色的透明度即可。例如:将0xFFFFFF00的前两个FF更改为80(50%透明度)。所以,它看起来像0x80FFFF00

TextView textView = (TextView)findViewById(R.id.textView1);
String  text = "Your String"; 
Spannable spanText = Spannable.Factory.getInstance().newSpannable(text);
spanText.setSpan(new BackgroundColorSpan(0x80FFFF00), 14, 19,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spanText);

这里是关于十六进制颜色透明度的相关thread