在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")