De Contact De La Bulle EditText

Je suis en train de créer le contact des bulles dans le MultiAutoCompleteTextView similaire à la façon dont il est mis en œuvre dans l'application Google+. Ci-dessous est une capture d'écran:

De Contact De La Bulle EditText
.

J'ai essayé de prolonger la DynamicDrawableSpan classe afin d'obtenir un spannable drawable dans le contexte d'une durée de texte

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;
  }
}

Où mon oval.xml drawable est définie de la manière suivante:

<?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>

Dans mon Activité de classe qui a le MulitAutoCompleteTextView, j'ai mis la bulle de la durée de la sorte:

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); 

Cependant, au lieu de la forme ovale de l'affichage de derrière les 6 premiers caractères de la chaîne, les caractères ne sont pas visibles et il n'y a pas de forme ovale dessiné en arrière-plan.

Si je change le BubbleSpan de getDrawable() la méthode à utiliser .png au lieu d'une forme drawable:

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

Alors la .png apparaîtra, mais les caractères dans la chaîne qui sont une partie de la plage ne sera pas affiché. Comment puis-je faire en sorte que les personnages dans la durée sont affichés dans l'avant-plan, en attendant une forme personnalisée drawable est affiché dans le fond?

J'ai tenté d'utiliser un ImageSpan au lieu de sous-classement DynamicDrawableSpan, mais en vain.

InformationsquelleAutor toobsco42 | 2012-05-30