我想强调TextView
并实现下面显示的设计。
有谁知道如何使用TextView
实现这一目标?
我从现有的Android应用程序中截取了此屏幕截图。
通过使用此代码,我得到的结果如下所示,这不是我想要的:
sp.setSpan(new BackgroundColorSpan(color), start, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
答案 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。