Je veux ajouter plusieurs span à une vue de texte avec un espace de ligne configurable. J'utilise la classe LineHeightSpan définie dans android. Mais il semble se comporter différemment dans Android M et versions inférieures Voici le résultat dans la version inférieure d'AndroidLineHeightSpan dans Android M et versions inférieures
et voici comment il ressemble dans Android M
Voici comment je mis en œuvre dans le code: Ceci est ma mise en œuvre de LineHeightSpan:
public class VerticalMarginSpan implements LineHeightSpan {
private final int value;
public VerticalMarginSpan(int value) {
this.value = value;
}
@Override
public void chooseHeight(CharSequence text, int start, int end, int spanstartv, int v,
Paint.FontMetricsInt fm) {
fm.ascent -= value/2;
fm.descent += (value/2);
}
}
Et comment je l'utilise:
SpannableStringBuilder builder = new SpannableStringBuilder(tempStr);
builder.setSpan(
new VerticalMarginSpan(lineSpace),
0,
tempStr.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
txt.setText(builder);
Comment puis-je résoudre le problème?
-je résoudre ce problème dans M Android en ajoutant la police l'espacement à textview au lieu d'appliquer LineHeightSpan. Tu as sauvé mon temps. Je vous remercie. – Hojjat