8

我如何实现这样的事情:

在此处输入图像描述

我想在一个 TextView 中做到这一点。设置 TextView 的背景颜色不会完成这项工作。

我想它应该可以使用可扩展的,但我不知道如何。

在 html 中,我会这样做:

<html>
<body>
        <span style="background:#CCCCCC;">first line <br /> second long line </span>
</body>
</html>

但我不知道如何在 Android 上做到这一点。最后一个选项是将文本拆分为两个文本视图,并将每个文本视图的背景颜色和 with/height 设置为 wrap_content。但是由于文本长度/字数可以是动态的,我需要计算每个单词的长度等。必须有更好的方法:)

4

1 回答 1

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 中,你可以使用 aWebView并在那里加载你的 html,我认为使用 css 样式应该更容易

于 2013-06-08T16:35:25.093 回答