Contacto Bubble EditText

Estoy tratando de crear burbujas de contacto en elMultiAutoCompleteTextView similar a cómo se implementa en la aplicación de Google+. A continuación se muestra una captura de pantalla:

.

He tratado de extender elDynamicDrawableSpan clase con el fin de obtener un dibujo extraíble en el fondo de un tramo de texto

public class BubbleSpan extends DynamicDrawableSpan {
  private Context c;

  public BubbleSpan(Context context) {
    super();
    c = context;
  }

  @Override
  public Drawable getDrawable() {
    Resources res = c.getResources();
    Drawable d = res.getDrawable(R.drawable.oval);
    d.setBounds(0, 0, 100, 20);
    return d;
  }
}

Donde mi dibujable oval.xml se define así:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
  <solid android:color="#352765"/>
  <padding android:left="7dp" android:top="7dp"
    android:right="7dp" android:bottom="7dp" />
  <corners android:radius="6dp" />
</shape>

En mi clase de actividad que tiene laMulitAutoCompleteTextView, Puse la burbuja como asi:

final Editable e = tv.getEditableText();
final SpannableStringBuilder sb = new SpannableStringBuilder();
sb.append("some sample text");
sb.setSpan(new BubbleSpan(getApplicationContext()), 0, 6, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
e.append(sb); 

Sin embargo, en lugar de la forma ovalada que se muestra detrás de los primeros 6 caracteres de la cadena, los caracteres no son visibles y no hay un óvalo dibujable en el fondo.

Si cambio el método getDrawable () de BubbleSpan para usar un .png en lugar de una forma dibujable:

public Drawable getDrawable() {
  Resources res = c.getResources();
  Drawable d = res.getDrawable(android.R.drawable.bottom_bar);
  d.setBounds(0, 0, 100, 20);
  return d;
}

Luego aparecerá .png pero no se mostrarán los caracteres de la cadena que forman parte del tramo. ¿Cómo puedo hacer que los caracteres en el espacio se muestren en primer plano, mientras que una forma personalizada dibujable se muestra en el fondo?

Intenté usar también unImageSpan en lugar de subclasificarDynamicDrawableSpan pero no tuvo éxito.

Respuestas a la pregunta(3)

Su respuesta a la pregunta