我需要制作一些文本(目前处于TextView
)闪烁几秒钟。 how to do it in java here上有几个答案,但由于Kotlin有一些java不具备的语法/语言功能,我想问你使用Kotlin在Android上使文本闪烁的最简洁方法是什么。
虽然我的目标是使褪色/平滑眨眼,但我也会接受那些会导致非平滑眨眼的方法。
请注意,我也在明智地看待轻量级代码。
感谢您的回答!
答案 0 :(得分:5)
为了一点乐趣,您可以定义扩展功能:
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
})
}
并使用它(使用您链接的问题中的示例):
myText.blink(3) // Blink 3 times
yourText.blink() // Just keep blinking
显然,您可以更改参数以适合您的使用案例。
要根据需要停止动画,请在闪烁视图上调用clearAnimation()
(yourText
以获取上述示例。)