Как назначить значение формата ARGB (например, 0xFFFF0000) для Kotlin INT - PullRequest
3 голосов
/ 07 апреля 2019

В Android RED (в Java) определяется как

@ColorInt public static final int RED         = 0xFFFF0000;

Когда мы присваиваем значение, как указано ниже (в Kotlin), все хорошо.

val value: Int = Color.RED 

Однако когдаЯ заменяю Color.RED на 0xFFFF0000;

val value: Int = 0xFFFF0000

Будет жалоба The integer literal does not conform to the expected type Int.Как я мог обойти это так, чтобы я все еще мог писать в формате ARGB?

Примечание

Я знаю, если мы конвертируем в Int со знаком, как показано ниже, все работает

val value: Int = -0x10000

Но мне будет слишком сложно распознать значение цветового формата (т. Е. FFFF0000 относится к формату ARGB).

Ответы [ 2 ]

2 голосов
/ 07 апреля 2019
val value: Int = 0xFFFF0000.toInt()

См. https://youtrack.jetbrains.com/issue/KT-4749.

0 голосов
/ 07 апреля 2019

Я предлагаю вам использовать Color.parseColor :

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...