kotlin 如何将字符串转换为int Color值

svgewumm  于 2022-11-16  发布在  Kotlin
关注(0)|答案(1)|浏览(363)

我 想 设置 渐变 背景 。 这 是 我 的 代码 :

val startColor = "0xFFAC235E"
val endColor = "0xFF640C35"
val gradient = GradientDrawable(
    GradientDrawable.Orientation.LEFT_RIGHT,
    intArrayOf(
        startColor.toInt(),
        endColor.toInt()
    )
)
view.background = gradient

中 的 每 一 个
它 通过 一 个 异常 :

java.lang.NumberFormatException: For input string: "0xFFAC235E"

格式
如果 我 替换 * * startColor = 0xFFAC235E * * , 上面 的 代码 可以 正常 工作 。 但 这 不是 我 想要 的 。
我 需要 把 颜色 作为 参数 字符 串 。 有 任何 转换 吗 ?

mnemlml8

mnemlml81#

请尝试将0x替换为#。
例如:

startColor.replace("0x", "#")

通常我们用十六进制颜色代码定义颜色。所以,我想这对你会起作用。

编辑

必须解析颜色字符串才能将其转换为整数。

Color.parseColor(startColor.replace("0x", "#"))

相关问题