Android中的文字闪烁,最简洁的Kotlin

时间:2017-11-14 18:54:24

标签: android kotlin android-view

我需要制作一些文本(目前处于TextView)闪烁几秒钟。 how to do it in java here上有几个答案,但由于Kotlin有一些java不具备的语法/语言功能,我想问你使用Kotlin在Android上使文本闪烁的最简洁方法是什么。

虽然我的目标是使褪色/平滑眨眼,但我也会接受那些会导致非平滑眨眼的方法。

请注意,我也在明智地看待轻量级代码。

感谢您的回答!

1 个答案:

答案 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以获取上述示例。)