Android文字闪烁,最简洁的Kotlin

Lou*_*CAD 1 android android-view kotlin

我需要使一些文本(当前在中TextView)闪烁几秒钟。关于如何在Java中执行此操作,有几个答案,但是由于Kotlin具有Java所没有的一些语法/语言功能,所以我想问问您发现使用Kotlin在Android上使文本闪烁的最简洁的方法是什么。

虽然我的目标是使淡淡/平滑的眨眼,但我也乐于接受也会使不平滑的眨眼的方法。

请注意,我也在研究轻量级代码的性能。

感谢您的回答!

Ruc*_*oom 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
    })
}
Run Code Online (Sandbox Code Playgroud)

并像这样使用它(使用您链接的问题中的示例):

myText.blink(3)  // Blink 3 times
yourText.blink()  // Just keep blinking
Run Code Online (Sandbox Code Playgroud)

显然,您可以更改参数以适合您的用例。

要在需要时停止动画,请调用clearAnimation()闪烁的视图(yourText对于上面的示例)。