65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (1投票)

2021年4月7日

CPOL

2分钟阅读

viewsIcon

3790

如何在多个项目中使用 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日:初始版本
© . All rights reserved.