Android CodeView - 最简单易用的文本高亮显示方式





4.00/5 (1投票)
如何在多个项目中使用 CodeViewAndroid 库的功能
引言
在我的第一篇 CodeProject 文章中,使用 CodeView 库创建一个 Android 代码编辑器应用程序,我介绍了如何使用 CodeView
库为编程语言创建一个语法高亮器,并具有许多额外的功能,例如自动完成、运行时更改主题和语法。
第一个功能构想
第一个想法是在内容共享应用程序中使用它,例如 Twitter,你可以高亮标签、网站 URL,还可以高亮电子邮件。这个功能可以使用 CodeView
仅用三行代码轻松完成。
codeview.addSyntaxPattern(Pattern.compile("#[a-zA-z0-9]+"), Color.BLUE); codeview.addSyntaxPattern(Patterns.WEB_URL, Color.BLUE); codeview.addSyntaxPattern(Patterns.EMAIL_ADDRESS, Color.BLUE);
你还可以为电子邮件提供商添加自动完成功能,例如 @gmail.com 或 @yahoo.com,最终结果如下所示
第二个功能构想
第二个想法是将 CodeView
与搜索功能结合使用,以高亮内容中所有匹配的关键字。你可以轻松地高亮显示,而无需在所有内容中搜索位置,并添加例如,一些 HTML 标签或 Span,以便在用户搜索到它时高亮显示每个单词,这个功能可以使用几种方法轻松完成。
首先,你需要为搜索关键字创建一个模式,它可以是一个普通的 string
,或者你可以允许用户使用正则表达式进行搜索,而不仅仅是 string
。
Pattern keywordPattern = Pattern.compile(keyword);
在 Kotlin 中将是
val keywordPattern : Pattern = Pattern.compile(keyword)
然后,你需要将此模式添加到 CodeView
中,并使用你想要高亮的颜色。
codeview.addSyntaxPattern(keywordPattern, Color.BLUE);
然后,你需要告诉 CodeView
高亮显示新的模式。
codeview.reHighlightSyntax();
一旦用户更改了搜索关键字,你只需要用一个新的模式替换旧的模式,并且有两种方法可以做到这一点。
codeview.removeSyntaxPattern(keywordPattern);
或者你可以从 CodeView
中删除所有模式
codeview.resetSyntaxPatternList();
然后,你需要添加新的模式并高亮显示
codeview.addSyntaxPattern(newkeywordPattern, Color.BLUE); codeview.reHighlightSyntax();
完成了,最终结果如下所示
请记住,CodeView
具有许多功能,你可以在许多不同的想法中使用它。我只是给你两个例子,但这里还有更多。你可以在语言应用程序中使用它,例如英语应用程序,并使用错误高亮器,你可以高亮拼写错误的单词,或者创建一个带有英语单词自动完成功能的笔记应用程序等。
你所需要的只是使用你的想象力和创造力,使用 CodeView
创建出色的功能。
它非常易于使用,文档完善,Github 上有很多示例,你可以了解如何从 Github 链接下载和使用:https://github.com/amrdeveloper/codeview。
我希望你喜欢使用 CodeView
创建你的编辑器。
编程愉快!
历史
- 2021年4月7日:初始版本