【问题标题】:Text blinking in Android, with most concise KotlinAndroid中的文字闪烁,最简洁的Kotlin
【发布时间】:2018-01-08 05:44:53
【问题描述】:

我需要让一些文本(目前在 TextView 中)闪烁几秒钟。 how to do it in java here 上有几个答案,但由于 Kotlin 有一些 java 没有的语法/语言特性,我想问一下你发现在 Android 上使用 Kotlin 使文本闪烁的最简洁的方法是什么。

虽然我的目标是使闪烁消失/平滑闪烁,但我也愿意接受会产生非平滑闪烁的方法。

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

感谢您的回答!

【问题讨论】:

    标签: android kotlin android-view


    【解决方案1】:

    为了好玩,你可以定义一个扩展函数:

    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)。

    【讨论】:

    • 不错,简洁明了!
    • @LouisCAD 感谢您的编辑。我对 Kotlin/Android 不太熟悉。
    • 嘿,我知道这是一个老问题,但是,如何使复选框内的文本闪烁?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    相关资源
    最近更新 更多