我正在编写一个包含一些代码片段的应用程序。
作为通常的方式,它可以在TextView中显示,但我想突出显示一些关键字说“主”,“int”,“类”,“返回”等。 很多时候我发现它可以使用加载到webview的html和css来完成,但是它有一些缺点,比如慢渲染,所以它会带来糟糕的用户体验。
有更好的方法来解决方案吗? 给我一些代码示例会很棒......
感谢
答案 0 :(得分:0)
使用SpannableString:
SpannableString string = new SpannableString("Your text that has to be highlighted");
string.setSpan(new BackgroundColorSpan(Color.YELLOW), 0, 10, 0);
textView.setText(string);
BackgroundColorSpan更改背景颜色。还可以查看ForegroundColorSpan。
或使用接受Html标记的Html.fromHtml
:
String text1 = "Start your text ";
String text2 = "<font color='#EE0000'>and it is now red</font>";
textView.setText(Html.fromHtml(text1 + text2));
Html方式可能比SpannableString慢一点,因为它涉及解析字符串。