android textview clickable

Android: configuración de fondo dibujable personalizado para ClickSpan



textview clickable (1)

Necesita establecer los límites del Drawable antes de devolverlo en getDrawable ().

d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());

¿Hay alguna manera de establecer un drawable personalizado (desde recursos) a un lapso, especialmente un ClickSpan, de TextView?

Google devuelve muchas respuestas para deshabilitar destacados o cambiar colores, etc. anulando updateDrawState () del span, pero no veo cómo se puede establecer un drawable en el fondo.

Veo una posibilidad en DynamicDrawableSpan, pero no puedo hacerlo funcionar junto con ClickableSpan. Este es mi código:

public class MyDynamicDrawableSpan extends DynamicDrawableSpan { private Context c; public MyDynamicDrawableSpan(Context context) { super(); c = context; } @Override public Drawable getDrawable() { Resources res = c.getResources(); Drawable d = res.getDrawable(R.drawable.span_background); return d; }

}

Y así es como lo uso:

SpannableStringBuilder ssb = new SpannableStringBuilder(text); MyDynamicDrawableSpan ddSpan = new MyDynamicDrawableSpan(getApplicationContext()); ... ssb.setSpan(ddSpan, start, end, 0); ssb.setSpan(new ClickableSpan(...

Esto no funciona. Solo ayuda a que el tramo sea invisible. ¿Alguna idea brillante?