如何将 ARGB 格式(例如 0xFFFF0000)值分配给 Kotlin INT



在Android中,RED(在Java中(被定义为

@ColorInt public static final int RED         = 0xFFFF0000;

当我们分配给如下值时(在 Kotlin 中(,一切都很好。

val value: Int = Color.RED 

但是当我用0xFFFF0000;替换Color.RED

val value: Int = 0xFFFF0000

它会投诉The integer literal does not conform to the expected type Int.我怎样才能解决我仍然可以以 ARGB 格式编写的问题?

注意

我知道如果我们转换为签名的 Int,如下所示,所有作品

val value: Int = -0x10000

但这对我来说太难识别颜色格式值了(即FFFF0000指的是 ARGB 格式(。

val value: Int = 0xFFFF0000.toInt()

请参阅 https://youtrack.jetbrains.com/issue/KT-4749。

我建议你使用Color.parseColor:

val color: Int = Color.parseColor("FFFF0000")

最新更新