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 № 1Para 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).