我如何实现这样的事情:
我想在单个TextView中执行此操作。设置TextView的背景颜色不起作用。
我想应该可以使用spannable,但我不知道如何。
在html中我会这样做:
<html>
<body>
<span style="background:#CCCCCC;">first line <br /> second long line </span>
</body>
</html>
但我不知道如何在Android上做到这一点。 最后一个选项是将文本拆分为两个文本视图,并将每个textviews背景颜色和/ height设置为wrap_content。但由于单词的文本长度/计数可以是动态的,我需要计算每个单词的长度等。必须有更好的方法:)
答案 0 :(得分:13)
这样的事情应该做的工作
String myString = "first line\nsecond long line";
Spannable spanna = new SpannableString(myString);
spanna.setSpan(new BackgroundColorSpan(0xFFCCCCCC),0, myString.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
myTextView.setText(spanna);
如果你想将它保存在html中,你可以使用WebView
并在那里加载你的html,使用css应该更容易使用样式,我认为