如何在 Kotlin 中不断改变背景颜色?
How to keep changing background color in Kotlin?
我想保持背景像迪斯科屏幕一样变化。
但是在这段代码中,只显示了蓝色。我应该如何解决才能改变颜色?
var bgColor = 1
val bgDrawableIds = intArrayOf(
R.drawable.purple,
R.drawable.red,
R.drawable.blue,
)
bgColor++
disco_display.background = resources.getDrawable(bgDrawableIds[bgColor % bgDrawableIds.size])
xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/disco_display"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white" />
</androidx.constraintlayout.widget.ConstraintLayout>
将其包装在协程中:
lifecycleScope.launch {
while (true) {
disco_display.background = resources.getDrawable(bgDrawableIds[++bgColor % bgDrawableIds.size])
delay(200L)
}
}
我想保持背景像迪斯科屏幕一样变化。 但是在这段代码中,只显示了蓝色。我应该如何解决才能改变颜色?
var bgColor = 1
val bgDrawableIds = intArrayOf(
R.drawable.purple,
R.drawable.red,
R.drawable.blue,
)
bgColor++
disco_display.background = resources.getDrawable(bgDrawableIds[bgColor % bgDrawableIds.size])
xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/disco_display"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white" />
</androidx.constraintlayout.widget.ConstraintLayout>
将其包装在协程中:
lifecycleScope.launch {
while (true) {
disco_display.background = resources.getDrawable(bgDrawableIds[++bgColor % bgDrawableIds.size])
delay(200L)
}
}