/ / Texto piscando no Android, com o Kotlin mais conciso - android, kotlin, android-view

Texto piscando no Android, com Kotlin mais concisa - android, kotlin, android-view

Preciso fazer algum texto (atualmente em um TextView) piscar por alguns segundos. Existem várias respostas em como fazê-lo em java aqui, mas como o Kotlin possui alguns recursos de sintaxe / idioma que o java não faz, pergunto qual é a maneira mais concisa que você encontrou para fazer o texto piscar no Android usando o Kotlin.

Enquanto pretendo fazer um piscar de olhos desbotado / suave, estou aberto a abordagens que também fariam um piscar de olhos não suave.

Observe que também estou analisando o desempenho leve do código.

Obrigado por suas respostas!

Respostas:

4 para resposta № 1

Para se divertir, você pode definir uma função de extensão:

fun View.blink(
times: Int = Animation.INFINITE,
duration: Long = 50L,
offset: Long = 20L,
minAlpha: Float = 0.0f,
maxAlpha: Float = 1.0f,
repeatMode: Int = Animation.REVERSE
) {
startAnimation(AlphaAnimation(minAlpha, maxAlpha).also {
it.duration = duration
it.startOffset = offset
it.repeatMode = repeatMode
it.repeatCount = times
})
}

E use-o assim (usando o exemplo na pergunta que você vinculou):

myText.blink(3)  // Blink 3 times
yourText.blink()  // Just keep blinking

Obviamente, você pode alterar os parâmetros para se adequar ao seu caso de uso.

Para interromper a animação, se necessário, chame clearAnimation() na visualização piscando (yourText para o exemplo acima).