web-dev-qa-db-fra.com

Quelle est la différence entre lineSpacingExtra et lineSpacingMultiplier?

J'ajoute un interligne dans ma vue texte qui s'étend sur plusieurs lignes. Quelle est la différence entre Android:lineSpacingExtra et Android:lineSpacingMultiplier?

lineSpacingExtra avec 2dp a bien fonctionné pour moi mais je me demandais ce que fait le multiplicateur à la place?

43
change

La différence est que Android:lineSpacingExtra ajoute un espacement supplémentaire entre les lignes de texte de TextView et Android:lineSpacingMultiplier fonctionne comme facteur d'échelle pour la hauteur de l'espace de ligne. en d'autres termes, chaque hauteur de ligne sera height*multiplier + extra

49
Jans

C'est assez simple: l'un est additif et l'autre multiplicatif.

Si vous avez un interligne par défaut de LINE_SPACING et utilise:

float x = 2;
float y = 1.5;
setLineSpacing(x, y);

L'espacement des lignes résultant sera 1.5*LINE_SPACING + 2

Il est important de noter que la multiplication se produit en premier! Ceci suit l'ordre conventionnel des opérations (multiplication avant addition).

Voir les documents ici: http://developer.Android.com/reference/Android/widget/TextView.html#setLineSpacing (float , float)

À l'avenir, il serait peut-être judicieux de rechercher une telle documentation en premier. ;)

15
J David Smith