I am trying to create contact bubbles in the MultiAutoCompleteTextView 
similiar to how it is implemented in the Google+ app. Below is a screen 
shot:

[image: Google+ Compose Post Screenshot] .

I have tried to extend the DynamicDrawableSpan class in order to get a 
spannable drawable in the background of a span of text

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

Where my oval.xml drawable is defined as so:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"; 
android:shape="oval">
  <solid android:color="#00000000"/>
  <stroke android:width="4dp" android:color="#99000000"
        android:dashWidth="4dp" android:dashGap="2dp" />
  <padding android:left="7dp" android:top="7dp"
        android:right="7dp" android:bottom="7dp" />
  <corners android:radius="4dp" />
</shape>

In my Activity class that has the MulitAutoCompleteTextView, I set the 
bubble span like so:

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

However, instead of the oval shape displaying behind the first 6 characters 
in the string, the characters are not visible and there is no oval drawable 
in the background.

If i change the BubbleSpan's getDrawable() method to use a .png instead of 
a shape 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;
}

Then the .png will show up but the characters in the string that are a part 
of the span will not show up. How can I make it so that the characters in 
the span are displayed in the foreground, meanwhile a custom shape drawable 
gets displayed in the background?

I attempted to also use an ImageSpan instead of subclassing 
DynamicDrawableSpan but was unsuccessful.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to