TextHighlighter

Additional

Language
Java
Version
N/A
Created
Aug 14, 2017
Updated
Mar 14, 2018
Owner
Lee Jeo (xeoh)
Contributor
Lee Jeo (xeoh)
1
Activity
Badge
Generate
Download
Source code
APK file

Advertisement

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.2'
}

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
*/

See sample application

Version History

  • 1.0.0 Testing version. (Not published)
  • 1.0.1 First Deploy.
  • 1.0.2 Add bold and italic feature.

License

TextHighlighter is available under the MIT license. See the LICENSE file for more info.