Eu tenho um textView
interior com um número (variável) e a string
, como posso dar ao número um tamanho maior que o string
? o 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));
}
Quero que ls.numproducts tenha um tamanho diferente do restante do texto. Como fazer?
Caso você esteja se perguntando como pode definir vários tamanhos diferentes na mesma visualização de texto, mas usando um tamanho absoluto e não um relativo, você pode conseguir isso usando em
AbsoluteSizeSpan
vez de aRelativeSizeSpan
.Basta obter a dimensão em pixels do tamanho de texto desejado
e crie um novo com
AbsoluteSpan
base no textofonte
AbsoluteSizeSpan
exemploAbsoluteSizeSpan(sizeInDip, true)
para especificar o tamanho diretamente no dpVocê pode fazer isso usando a string html e definindo o html como Textview usando
txtView.setText(Html.fromHtml("Your html string here"));
Por exemplo :
fonte
Método 1
usando
Método 2
usando
fonte
Tente spannableStringbuilder . Usando isso, podemos criar uma string com vários tamanhos de fonte.
fonte
---------------- Resultado ---------------
Resultado:
12345. 24
fonte
A melhor maneira de fazer isso é Html, sem substring seu texto e totalmente dinâmica. Por exemplo:
e você pode usar atributos de cores etc ... se por outro lado:
fonte
Eu escrevi minha própria função, que tem 2 strings e 1 int (tamanho do texto)
O texto completo e a parte do texto que você deseja alterar o tamanho dele.
Retorna um SpannableStringBuilder que você pode usá-lo na exibição de texto.
fonte
Caso você queira evitar muita confusão para seus tradutores, criei uma maneira de ter apenas um espaço reservado nas strings, que serão tratadas no código.
Então, você deveria ter isso nas strings:
E você deseja que o texto do espaço reservado tenha tamanho e cor diferentes, você pode usar o seguinte:
E o resultado:
fonte