【问题标题】:How to choose a random color from a list in Kotlin?如何从 Kotlin 的列表中选择随机颜色?
【发布时间】:2020-09-04 06:22:45
【问题描述】:

如何在Kotlin 从列表中选择随机颜色?我找不到与此主题相关的任何内容...
谢谢。

【问题讨论】:

  • 你能提供更多细节吗?
  • 是的。所以我想从我的 Kotlin 列表中选择一个随机数,并将我的 Button 背景更改为该随机颜色。希望这是有道理的。感谢您的评论
  • 我不太明白您所说的从列表中生成 (...) 是什么意思。据我所知,您可以从列表中选择一种随机颜色,或者从 RGB 值中生成一种颜色。
  • 对不起,如果我没有说清楚。我的意思是从列表中选择一种随机颜色
  • couldn't find anything 因为您要做的是两个单独的任务。从数组中选择一个随机值并用颜色填充数组。了解如何拆分任务很有用

标签: android kotlin static jvm


【解决方案1】:

您可以定义一个颜色数组并使用random() func 从中获取随机颜色

val colors = arrayOf(
     Color.parseColor("#FFFFFF"),
     Color.parseColor("#000000"),
     Color.parseColor("#FF8F00"),
     Color.parseColor("#EF6C00"),
     Color.parseColor("#D84315"),
     Color.parseColor("#37474F"),
     //...more
)
val randomColor = colors.random()

或者随机生成一种颜色

val rnd = Random.Default //kotlin.random
val color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256))

【讨论】:

    【解决方案2】:

    在 Kotlin 中,Random 被用作伴随对象,所以这应该可以工作。您将获得 0 到 255 之间的随机值:

    val color = Color.argb(255, Random.nextInt(0, 255), Random.nextInt(0, 255), Random.nextInt(0, 255))
    

    编辑:

    我看到您发表了评论,并且您想从列表中获取颜色。感谢 Kotlin,我们在集合上有很多额外的功能,所以你可以使用 random() 函数从列表中获取随机对象:

    val colors = arrayListOf(color1, color2, color3, color4)
    val randomColor = colors.random()
    

    【讨论】:

      【解决方案3】:

      很有帮助。

      Java

      Random rnd = new Random();
      paint.setARGB(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
      

      科特林

      val rnd = Random()
      val color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256))
      myView.setBackgroundColor(color)
      

      Random Doc Source

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-06
      • 1970-01-01
      • 2014-12-26
      • 2019-03-29
      • 2019-10-29
      • 2014-10-07
      • 2012-08-24
      • 1970-01-01
      相关资源
      最近更新 更多