Sitemap
Pizza crizza

Pizza crizza

Venha saborear uma bela pizza com Android.

Press enter or click to view image in full size

Pizza de Spannable String

2 min readMay 7, 2020

--

Olá,

Aqui iremos saborear uma pouco mais sobre SpannableString. Quando você se deparar com uma customização de texto para o seu aplicativo Android, saiba que a melhor opção é usar as classes Spannable.

-> O método setSpan().

fun setSpan( objeto: Object, começo: Int, fim: Int, flag : Int)

objeto: aqui objeto de marcação para adicionar algum estilo ou funcionalidade ao texto.

começo: nós marcamos a primeira posição do caracter que será modificado.

fim: nós marcamos a última posição do caracter que será modificado.

flag: uma constante proveniente da classe Spanned, é aqui que é definido o comportamento do texto:

Get Pizza crizza’s stories in your inbox

Join Medium for free to get updates from this writer.

SPAN_COMPOSING -> Esse sinalizador é definido em extensões que estão sendo usadas para aplicar informações de estilo temporárias no texto de composição de um método de entrada, para que possam ser encontradas e removidas quando o texto de composição estiver sendo substituído.

SPAN_EXCLUSIVE_EXCLUSIVE-> As extensões do tipo SPAN_EXCLUSIVE_EXCLUSIVE não se expandem para incluir o texto inserido no ponto inicial ou final, ou seja, a única modificação do texto será feita apenas dentro do “começo” e “fim”.

SPAN_EXCLUSIVE_INCLUSIVE -> As extensões sem tamanho 0 do tipo SPAN_EXCLUSIVE_INCLUSIVE se expandem para incluir texto inserido no ponto final, mas não no ponto inicial.

SPAN_INCLUSIVE_EXCLUSIVE -> As extensões sem tamanho 0 do tipo SPAN_INCLUSIVE_EXCLUSIVE se expandem para incluir texto inserido no ponto inicial, mas não no ponto final.

SPAN_INCLUSIVE_INCLUSIVE -> As extensões do tipo SPAN_INCLUSIVE_INCLUSIVE se expandem para incluir o texto inserido no ponto inicial ou final.

Lembrando que o começo e o fim (star/end) estão diretamente ligados ao objeto, será aqui o direcionamento de que ponto a ponto será atribuida a mudança. Por exemplo:

Temos uma string “pizza de calabresa”, se contarmos todos os caracteres inclusive os espaços teremos 18 caracteres. Se quisermos mudar a cor apenas a palavra calabresa , então fariamos assim:

val stringText = "pizza de calabresa"
val spannableString = SpannableString(stringText)
val fcsRed = ForegroundColorSpan(Color.RED)
spannableString.setSpan(fcsRed,10,18,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)

Esses são alguns exemplos de flags do método setSpan, para mais informações acesse: developers

Buon appetito!

--

--

Pizza crizza
Pizza crizza

Written by Pizza crizza

0 followers

Venha saborear uma bela pizza com Android.