Ich erhalte Hex-Farbwerte von einem Server (in dieser Form #xxxxxx
beispielsweise #000000
für Schwarz).
Wie konvertiere ich dies in einen ganzzahligen Wert?
Ich habe versucht Integer.valueOf("0x" + passedColor.substring(1, passedColor.length()))
, ein noch hextastischeres 0x000000
Ergebnis zu erzielen , aber dies wird nicht als int
hier interpretiert , irgendwelche anderen Vorschläge?
Ich erhalte eine Fehlermeldung: 08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer
Ich verwende das Android SDK für ihre setBackgroundColor(int color)
Funktion, die - wie Sie vielleicht vermutet haben - einen ganzzahligen Farbwert annimmt.
Dies ist das Gegenteil dieser Frage: Wie konvertiere ich eine Farb-Ganzzahl in eine Hex-Zeichenfolge in Android?
valueOf
Methode mit zwei Argumenten , bei der Sie die Zeichenfolgeneingabe (natürlich ohne #) und den Radix angeben, der die Basis angibt.Integer.valueOf(passedColor.substring(1, passedColor.length()), 16)
Dies kann mit jeder ganzzahligen Basis erfolgen! download.oracle.com/javase/6/docs/api/java/lang/… , int)Antworten:
Die wirkliche Antwort lautet:
Color.parseColor(myPassedColor)
in AndroidmyPassedColor
ist derhex
Wert wie#000
oder#000000
oder#00000000
.Diese Funktion unterstützt jedoch keine Hexadezimalwerte wie
#000
.quelle
#000
. Siehe Dokumentation#ccc
. Gibt es einen anderen Weg?Die Antwort ist sehr einfach Leute, in android , wenn Sie hex Farbe in zu int konvertieren möchten, verwenden Sie einfach android Farbklasse, Beispiel gezeigt , wie unten
Dies ist für hellgraue Farbe
Das ist es und Sie werden Ihr Ergebnis erhalten.
quelle
quelle
parseInt
fehl, wenn es in der Eingabe gefunden wird.parseColor()
. Du bist sehr richtig.Ich habe das gleiche Problem, dass ich etwas Farbe in Form von gefunden habe
#AAAAAA
und ich möchte das in eine Form umwandeln, die Android verwenden könnte. Ich fand, dass Sie nur verwenden können,0xFFAAAAAA
damit Android automatisch die Farbe erkennen kann. Beachten Sie, dass der erste WertFF
aussagtalpha
. Ich hoffe es hilftquelle
Die wirkliche Antwort ist diese einfachste und einfachste ....
quelle
Ich hatte das gleiche Problem. Auf diese Weise konnte ich es lösen. Wie CQM sagte, ist die Verwendung von Color.parseColor () eine gute Lösung für dieses Problem.
Hier ist der Code, den ich verwendet habe:
In diesem Fall war es mein Ziel, die Textfarbe der Schaltfläche (Button_C) zu ändern, wenn ich die Farbauswahl in meinen Einstellungen (color_prefs) ändere.
quelle
Basierend auf CQM ‚s Antwort und auf ovokerie-ogbeta ‘ s Antwort auf eine andere Frage ich mit dieser Lösung kommen haben:
quelle
Holen Sie sich den Farbcode für gemeinsame Einstellungen in String und konvertieren Sie ihn dann in eine Ganzzahl und fügen Sie die Layout-Hintergrundfarbe hinzu:
quelle
Versuchen Sie dies, erstellen Sie Drawable in Ihrer Ressource ...
dann benutze...
mit Farbe ... "#FFFFFF"
Wenn die Farbe transparent ist, verwenden Sie ... setAlpha
mView1.setAlpha(x);
mit x float 0-1 Ej (0.9f)Viel Glück
quelle