EditText Blue Word

February 27 2013
This example shows how you can change the color of a word in a EditText using a ForegroundColorSpan. BlueWord.zip
I created the outline for this project like this:

android create project --target "Google Inc.:Google APIs:17" --name BlueWord --path C:/Users/Earl/Documents/BlueWord --activity BlueWord --package org.nuts4cocos.blueword

This is what I changed:

*** mail.xml ***

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
  <EditText android:id="@+id/editText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
  />
</LinearLayout>

*** BlueWord.java ***

package org.nuts4cocos.blueword;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.widget.EditText;

public class BlueWord extends Activity {
  
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    
    ForegroundColorSpan blueSpan=new ForegroundColorSpan(Color.BLUE);;
    EditText editText=(EditText)findViewById(R.id.editText);
    String string="foo goo loo";
    int begin=string.indexOf("goo");
    int end=string.indexOf(" ", begin);
    Spannable spannable=new SpannableString(string);
    spannable.setSpan
    (blueSpan, begin, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    editText.setText(spannable);
  }
}

Leave a Reply

Your email address will not be published. Required fields are marked *