在android中的textview中保留空格

时间:2012-09-11 05:11:36

标签: java android html whitespace

我正在尝试使用html格式化(添加样式)某些文本并将其设置为textview的文本

Spanned text =Html.fromHtml(""+newAllText);
hello.setText(text, TextView.BufferType.SPANNABLE); 

但是Html()方法返回已删除所有空格的Spanned字符串。我曾尝试使用html标签,例如<pre>,但它没有帮助..

它应该像this一样很好地显示(html标签后来用from Html()方法删除)但是所有的空格都被删除了,它看起来像this(当它在ui中设置为文本,看起来像一个大的连续段落。)

有人对此有任何线索吗?

以防万一有人想看到完整的代码:

String SelectedSentence =allText.substring(lastPoint, nextPoint);
String highlighted = "<font color='red'>"+SelectedSentence+"</font>";
StringBuilder newAllText = new StringBuilder(allText);
newAllText.delete(lastPoint, nextPoint+1);
newAllText.insert(lastPoint,highlighted);
newAllText = new StringBuilder("<pre>"+newAllText+"</pre>");

Spanned text =Html.fromHtml(""+newAllText);
hello.setText(text, TextView.BufferType.SPANNABLE); 
lastPoint = nextPoint;

1 个答案:

答案 0 :(得分:0)

好吧,我放弃了HTML文本样式的整个方法,只使用了SpannableStringBuilder来获得我想要的效果

            highlighted = new SpannableStringBuilder(sb);
            highlighted.removeSpan(new BackgroundColorSpan(Color.YELLOW));
            highlighted.setSpan(new BackgroundColorSpan(Color.YELLOW),lastPoint, nextPoint, 0);