Преобразование значения шестнадцатеричного цвета (#ffffff) в целое значение

Я получаю шестнадцатеричные значения цвета с сервера (в этой форме #xxxxxx, пример #000000 для черных)

Как мне преобразовать это значение в целое число?

Я попытался сделать Integer.valueOf("0x" + passedColor.substring(1, passedColor.length())), чтобы получить еще больший результат hextastic 0x000000, но здесь это не intepreted как int, любые другие предложения?

Я получаю сообщение об ошибке: 08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer

Я использую Android SDK для своей функции setBackgroundColor(int color), которая принимает, как вы могли догадаться, целочисленное значение цвета.

Это OPPOSITE этого вопроса: Как преобразовать целое число цвета в шестнадцатеричную строку в Android?

Ответ 2

Integer.parseInt(myString.replaceFirst("#", ""), 16) 

Ответ 3

У меня та же проблема, что я нашел цвет в форме #AAAAAA, и я хочу преобразовать его в форму, которую может использовать андроид. Я обнаружил, что вы можете просто использовать 0xFFAAAAAA, чтобы андроид мог автоматически указывать цвет. Обратите внимание, что первая FF сообщает значение alpha. Надеюсь, что это поможет.

Ответ 4

У меня была та же проблема. Таким образом я смог решить это. Как сказал CQM, использование Color.parseColor() является хорошим решением этой проблемы.

Вот код, который я использовал:

this.Button_C.setTextColor(Color.parseColor(prefs.getString("color_prefs", String.valueOf(R.color.green))));

В этом случае моя цель состояла в том, чтобы изменить цвет текста Button (Button_C), когда я изменяю выбор цвета из своих настроек (color_prefs).

Ответ 5

Реальный ответ прост и прост.

String white = "#ffffff";
int whiteInt = Color.parseColor(white);

Ответ 6

Ответ - это действительно простые ребята, в андроиде, если вы хотите преобразовать шестнадцатеричный цвет в int, просто используйте класс android Цвет, пример показан ниже

это для светло-серого цвета

Color.parseColor("#a8a8a8");

Вот оно, и вы получите свой результат.

Ответ 7

Попробуйте это, создайте в своем ресурсе ресурс...

<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <solid android:color="@color/white"/>
    <size android:height="20dp"
        android:width="20dp"/>
</shape>

затем используйте...

 Drawable mDrawable = getActivity().getResources().getDrawable(R.drawable.bg_rectangle_multicolor);
mDrawable.setColorFilter(Color.parseColor(color), PorterDuff.Mode.SRC_IN);
mView1.setBackground(mDrawable);

с цветом... "#FFFFFF"

если цвет прозрачный, используйте... setAlpha

mView1.setAlpha(x); с x float 0-1 Ej (0.9f)

Удача