J'ai un textView
intérieur avec un nombre (variable) et un string
, comment puis-je donner au numéro une taille plus grande que le string
? le code:
TextView size = (TextView)convertView.findViewById(R.id.privarea_list_size);
if (ls.numProducts != null) {
size.setText(ls.numProducts + " " + mContext.getString(R.string.products));
}
Je veux que ls.numproducts ait une taille différente du reste du texte. Comment faire?
Juste au cas où vous vous demandez comment définir plusieurs tailles différentes dans la même vue de texte, mais en utilisant une taille absolue et non relative, vous pouvez y parvenir en utilisant
AbsoluteSizeSpan
au lieu d'unRelativeSizeSpan
.Obtenez simplement la dimension en pixels de la taille de texte souhaitée
puis créez un nouveau
AbsoluteSpan
basé sur le textela source
AbsoluteSizeSpan
exempleAbsoluteSizeSpan(sizeInDip, true)
pour spécifier la taille directement dans dpVous pouvez le faire en utilisant une chaîne html et en définissant le html sur Textview en utilisant
txtView.setText(Html.fromHtml("Your html string here"));
Par exemple :
la source
Méthode 1
en utilisant
Méthode 2
en utilisant
la source
Essayez spannableStringbuilder . En utilisant cela, nous pouvons créer une chaîne avec plusieurs tailles de police.
la source
---------------- Résultat ---------------
Résultat :
12345. 24
la source
La meilleure façon de le faire est Html sans sous-chaîne de votre texte et entièrement dynamique Par exemple:
et vous pouvez utiliser l'attribut couleur etc ... si d'autre part:
la source
J'ai écrit ma propre fonction qui prend 2 chaînes et 1 int (taille du texte)
Le texte intégral et la partie du texte dont vous souhaitez modifier la taille.
Il renvoie un SpannableStringBuilder que vous pouvez utiliser en vue texte.
la source
Au cas où vous voudriez éviter trop de confusion pour vos traducteurs, j'ai trouvé un moyen d'avoir juste un espace réservé dans les chaînes, qui sera géré dans le code.
Donc, supposé que vous ayez ceci dans les chaînes:
Et vous voulez que le texte de l'espace réservé ait une taille et une couleur différentes, vous pouvez utiliser ceci:
Et le résultat:
la source