首页 > 解决方案 > 如何随机更改背景?

问题描述

我是 Stack Overflow 的新手,我想学习回答这个问题,请不要给我负面声誉。

如何在 Android Studio 上随随机时间和每次更改背景颜色?我正在使用 Kotlin 语言。

var counter:Int =0

        if (Random.nextBoolean())
            background.setBackgroundColor(Color.GREEN)
        else
            background.setBackgroundColor(Color.RED)

        btn_touch.setOnClickListener {

            counter += 1
            textCounter.text = counter.toString()

标签: androidandroid-studioandroid-layoutkotlin

解决方案


试试下面的代码片段

val maxDelay = 10000L
val handler = Handler()
var isRed = true;
val updateRunnable = object : Runnable {
    override fun run() {
        background.setBackgroundColor(if(isRed) Color.RED else Color.GREEN)
        isRed = !isRed
        handler.postDelayed(this, Random.nextLong(maxDelay))
    }
}
handler.post(updateRunnable)

根据需要设置maxDelay值,不要忘记在handler.removeCallbacks(updateRunnable)不再需要时调用。


推荐阅读