I have a TextView with the font sans-serif-light. To link some words inside, I set a text as a Spannable like this:
final Spannable text = new SpannableString(textView.getText());
final Matcher matcher = PATTERN_TAG.matcher(text);
while (matcher.find()) {
text.setSpan(span, startIndex, endIndex, 0);
}
textView.setText(text);
textView.setMovementMethod(LinkMovementMethod.getInstance());
The Span that I apply sets the word's font to sans-serif-medium like this:
public abstract class ClickableTagSpan extends ClickableSpan {
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setTypeface(Typeface.create("sans-serif-medium", Typeface.NORMAL));
}
}

The problem is that the text becomes too wide for the TextView in some rows since the width of the medium font is larger than the light font that was orginally set. The TextView simply cuts off the text on the right edge. How can I get the TextView to respect the correct width of the text?