Я хотел бы иметь Spannable, который выглядит как ошибка в IDE - подчеркивание другого цвета.Как получить UnderlineSpan с другим цветом в Android?
Я пытался создать ColorUnderlineSpan
класс, расширяющий андроид UnderlineSpan
, но это делает весь текст другого цвета (мне нужно только добавить цветное подчеркивание):
/**
* Underline Span with color
*/
public class ColorUnderlineSpan extends android.text.style.UnderlineSpan {
private int underlineColor;
public ColorUnderlineSpan(int underlineColor) {
super();
this.underlineColor = underlineColor;
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setColor(underlineColor);
}
}
Я также нашел DynamicDrawableSpan
класс, но Я не вижу границ холста для рисования.
Было бы здорово получить любой Spannable impl с абстрактным методом рисования с аргументом bounds.
Спасибо, что поделились своим решением, я дам ему попробовать – 4ntoine
Отличное решение. Производительность может быть значительно улучшена путем кэширования offsetX и длины, так как drawBackground получает вызов каждого кадра. – Grahambo
Есть ли какой-нибудь demoCode, чтобы проверить это? – Rakesh