Tengo un textView
interior con un número (variable) y un string
, ¿cómo puedo darle al número un tamaño más grande que el string
? el código:
TextView size = (TextView)convertView.findViewById(R.id.privarea_list_size);
if (ls.numProducts != null) {
size.setText(ls.numProducts + " " + mContext.getString(R.string.products));
}
Quiero que ls.numproducts tenga un tamaño diferente al resto del texto. ¿Cómo hacer?
En caso de que se pregunte cómo puede configurar varios tamaños diferentes en la misma vista de texto, pero usando un tamaño absoluto y no uno relativo, puede lograrlo usando en
AbsoluteSizeSpan
lugar de aRelativeSizeSpan
.Simplemente obtenga la dimensión en píxeles del tamaño de texto deseado
y luego crear uno nuevo
AbsoluteSpan
basado en el textofuente
AbsoluteSizeSpan
ejemploAbsoluteSizeSpan(sizeInDip, true)
para especificar el tamaño directamente en dpPuede hacer esto usando una cadena html y configurando el html a Textview usando
txtView.setText(Html.fromHtml("Your html string here"));
Por ejemplo :
fuente
Método 1
utilizando
Método 2
utilizando
fuente
Prueba spannableStringbuilder . Con esto podemos crear cadenas con múltiples tamaños de fuente.
fuente
---------------- Resultado ---------------
Resultado:
12345. 24
fuente
La mejor manera de hacerlo es HTML sin subcadenas de texto y completamente dinámico. Por ejemplo:
y puedes usar el atributo de color, etc. si la otra mano:
fuente
He escrito mi propia función que toma 2 cadenas y 1 int (tamaño del texto)
El texto completo y la parte del texto que desea cambiar su tamaño.
Devuelve un SpannableStringBuilder que puede usar en la vista de texto.
fuente
En caso de que desee evitar demasiada confusión para sus traductores, he encontrado una manera de tener solo un marcador de posición en las cadenas, que se manejará en código.
Entonces, supongo que tienes esto en las cadenas:
Y si desea que el texto del marcador de posición tenga un tamaño y color diferente, puede usar esto:
Y el resultado:
fuente