Estoy tratando de crear burbujas de contacto en el MultiAutoCompleteTextView
de forma similar a cómo se implementa en la aplicación de Google+. Debajo hay una captura de pantalla:Contacto Bubble EditText
.
me han tratado de extender la clase DynamicDrawableSpan
con el fin de obtener una dibujable spannable en el fondo de un fragmento 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 oval.xml estirable por lo que se define como:
<?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 el MulitAutoCompleteTextView
, que establecer el lapso de la burbuja de este modo:
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 en la cadena, los caracteres no son visibles y no hay un dibujo ovalado en el fondo.
si cambio el método de BubbleSpan getDrawable() para utilizar un .png en lugar de una forma estirable:
public Drawable getDrawable() {
Resources res = c.getResources();
Drawable d = res.getDrawable(android.R.drawable.bottom_bar);
d.setBounds(0, 0, 100, 20);
return d;
}
Entonces el .png se mostrará, pero los caracteres de la cadena que son una parte de la span no aparecerá. ¿Cómo puedo hacerlo para que los caracteres del tramo se muestren en primer plano, mientras tanto, se visualiza un dibujable de forma personalizada en el fondo?
Intenté utilizar también un ImageSpan
en lugar de crear subclases DynamicDrawableSpan
pero no tuve éxito.
posible duplicado de etiquetas [Android o burbujas en EditarTexto] (http://stackoverflow.com/questions/8090711/android-labels-or-bubbles-in-edittext) –
números de contacto Cómo estás ser elegida – srihari
Everthing está bien, ahora cómo manejar el clic de imagen cruzada, quiero para eliminar la vista si el usuario hace clic en el ícono de cruz, por favor ayuda. – shaby