96

サーバーから 16 進数のカラー値を受信して​​います (この形式では、黒#xxxxxxの例)#000000

これを整数値に変換するにはどうすればよいですか?

私はInteger.valueOf("0x" + passedColor.substring(1, passedColor.length()))さらにヘタスティックな0x000000結果を得るためにやろうとしましたが、これはintここでは解釈されません。他に何か提案はありますか?

エラーが表示されます:08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer

私はそのsetBackgroundColor(int color)関数に Android SDK を使用しています。これは、ご想像のとおり、色の整数値を取ります。

これは、この質問の反対です: How to convert a color integer to a hex String in Android?

4

10 に答える 10

201

本当の答えは、次を使用することです。

Color.parseColor(myPassedColor)Android では、myPassedColorまたはまたはのhexような値です。#000#000000#00000000

ただし、この関数#000.

于 2013-01-26T02:48:27.483 に答える
16
Integer.parseInt(myString.replaceFirst("#", ""), 16) 
于 2011-08-04T01:07:27.070 に答える
7

の形で色を見つけたのと同じ問題があり、#AAAAAAそれをアンドロイドが利用できる形に変換したいと考えています。0xFFAAAAAAAndroidが自動的に色を認識できるように使用できることがわかりました。1つ目は価値FFを伝えることに注意してください。alphaそれが役に立てば幸い

于 2012-07-26T01:01:57.530 に答える
5

本当の答えは、この最もシンプルで簡単な....

String white = "#ffffff";
int whiteInt = Color.parseColor(white);
于 2016-12-14T05:56:40.737 に答える
1

値を静的な const として渡すことができる場合は、このオンライン コンバーターを使用して 16 進数値を Android (android.graphics.Color) に変換し、色の参照を const に入れることができます。 #EE5670 = 0xFFEE5670.

static const Color redColor = const Color(0xFFEE5670);

https://convertingcolors.com/hex-color-EE5670.html?search=#EE5670

于 2021-05-10T18:27:21.963 に答える