Text Highlighter in Android


Highlighting text is a useful feature that helps to draw attention to specific sections of text in an application. This capability can be especially useful in e-reader apps, educational apps, or any application that involves processing and interacting with text. In this guide, we'll explore how to implement a text highlighter feature in Android.

Understanding Text Highlighting

Text highlighting refers to changing the appearance of specific parts of a text, typically by altering the background color. This approach is used to emphasize certain words, phrases, or sections, making them stand out from the rest of the text.

How to Highlight Text in Android

Android offers several ways to highlight text. One of the most straightforward methods is to use the SpannableString class and apply a BackgroundColorSpan to the desired text.

Step 1: Setting up the Android Studio Project

To begin, create a new Android Studio project or open an existing one where you want to implement text highlighting. Ensure you have a TextView where the highlighted text will be displayed.

Step 2: Implementing Text Highlighting

To highlight text, you need to create a SpannableString from your original text and then apply a BackgroundColorSpan to the substring you want to highlight. Consider the following example −

TextView textView = findViewById(R.id.text_view);
String originalText = "Hello, Android Developers!";
SpannableString spannableString = new SpannableString(originalText);

BackgroundColorSpan highlightSpan = new BackgroundColorSpan(Color.YELLOW);
int start = originalText.indexOf("Android");
int end = start + "Android".length();
spannableString.setSpan(highlightSpan, start, end, Spanned.SPAN_INCLUSIVE_INCLUSIVE);


In this example, we're highlighting the word "Android". The indexOf() method is used to find the start of the word, and the length of the word is added to get the end. The setSpan() method is then used to apply the BackgroundColorSpan to the desired substring.

Step 3: Customizing the Highlight Color

The color of the highlight can be easily customized. In the BackgroundColorSpan constructor, you can replace Color.YELLOW with any color of your choice. You can use predefined colors from the Color class or define custom colors using Color.rgb(r, g, b) or Color.argb(a, r, g, b).


Text highlighting is an essential feature for many Android applications, and understanding how to implement it is a crucial skill for any Android developer. By using the SpannableString and BackgroundColorSpan classes, developers can quickly and easily highlight text in any color, improving the user experience and functionality of their apps.

Updated on: 19-Jun-2023


Kickstart Your Career

Get certified by completing the course

Get Started