Android TextHighlighter
Introduction
highlights every View which inherits TextView(i.e. TextView, Button, EditText). Set targets and Colors. Then highlight any word.
Requirements
Android API โฅ 2.3 (API Level 9)
Gradle
You can import TextHighlighter from jcenter.
repositories {
jcenter()
}
dependencies {
compile 'com.xeoh.android:text-highlighter:1.0.3'
}
Usage
// Initialize TextHighlighter
private TextHighlighter textHighlighter = new TextHighlighter()
.setBackgroundColor(Color.parse("#FFFF00"))
.setForegroundColor(Color.RED)
.setBold(true)
.setItalic(true)
.addTarget(findViewById(R.id.anyTextView))
.highlight("word", TextHighlighter.BASE_MATCHER);
// invalidate after add more targets
textHighlighter.addTarget(findViewById(R.id.anyButton))
.invalidate(TextHighlighter.BASE_MATCHER);
// invalidate after color changes
textHighlighter.setForegroundColor(Color.GREEN)
.invalidate(TextHighlighter.BASE_MATCHER);
// change matcher to case insensitive
textHighlighter.invalidate(TextHighlighter.CASE_INSENSITIVE_MATCHER);
/*
You can use multiple TextHighlighter for multiple keyword or multiple
styles. However, if two highlighter highlights same word, priority depends
on order of highlight(...) function call
*/
Version History
- 1.0.0 Testing version. (Not published)
- 1.0.1 First Deploy.
- 1.0.2 Add bold and italic feature.
- 1.0.3 Fix Performance issue for large amount of list items.
License
TextHighlighter is available under the MIT license. See the LICENSE file for more info.