Android – настройка настраиваемого выделенного фона для ClickSpan

Есть ли способ, чтобы мы могли настраивать пользовательский ресурс (от ресурсов) до диапазона, особенно ClickSpan, TextView?

Google возвращает много ответов для отключения подсветки или изменения цвета и т. Д., Переопределяя updateDrawState () диапазона, но я не вижу, как можно установить выделение для фона.

Я вижу возможность в DynamicDrawableSpan, но я не могу заставить ее работать вместе с ClickableSpan. Это мой код:

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

}

И вот как я его использую:

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

Это не работает. Это помогает сделать невидимый диапазон. Любые яркие идеи?

Перед возвратом в getDrawable () необходимо установить границы Drawable.

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