如何在android中突出显示代码片段?

时间:2017-08-05 17:05:35

标签: android webview syntax-highlighting

我正在编写一个包含一些代码片段的应用程序。

作为通常的方式,它可以在TextView中显示,但我想突出显示一些关键字说“主”,“int”,“类”,“返回”等。 很多时候我发现它可以使用加载到webview的html和css来完成,但是它有一些缺点,比如慢渲染,所以它会带来糟糕的用户体验。

有更好的方法来解决方案吗? 给我一些代码示例会很棒......

感谢

1 个答案:

答案 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慢一点,因为它涉及解析字符串。