Diese Frage wird für eine Reihe von Suchanfragen im Zusammenhang mit Hex-Farben gestellt, daher werde ich hier eine Zusammenfassung hinzufügen.
Farbe von int
Hex-Farben haben die Form RRGGBB
oder AARRGGBB
(Alpha, Rot, Grün, Blau). Nach meiner Erfahrung müssen Sie bei der int
direkten Verwendung eines AARRGGBB
Formulars das vollständige Formular verwenden. Wenn Sie nur das RRGGBB
Formular haben, stellen Sie es einfach voran FF
, um das Alpha (Transparenz) vollständig undurchsichtig zu machen. Hier ist, wie Sie es in Code setzen würden. Die Verwendung 0x
am Anfang bedeutet, dass es hexadezimal und nicht Basis 10 ist.
int myColor = 0xFF3F51B5;
myView.setBackgroundColor(myColor);
Farbe aus String
Wie andere angemerkt haben, können Sie Color.parseString
so verwenden
int myColor = Color.parseColor("#3F51B5");
myView.setBackgroundColor(myColor);
Beachten Sie, dass der String mit a beginnen muss #
. Beide RRGGBB
und AARRGGBB
Formate werden unterstützt.
Farbe aus XML
Sie sollten Ihre Farben nach Möglichkeit aus XML beziehen. Dies ist die empfohlene Option, da es viel einfacher ist, Farbänderungen an Ihrer App vorzunehmen. Wenn Sie im gesamten Code viele Hex-Farben festlegen, ist es sehr schwierig, diese später zu ändern.
Das Android-Materialdesign hat Farbpaletten mit den bereits konfigurierten Hex-Werten.
Diese Themenfarben werden in Ihrer gesamten App verwendet und sehen folgendermaßen aus:
Farben.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primary">#3F51B5</color>
<color name="primary_dark">#303F9F</color>
<color name="primary_light">#C5CAE9</color>
<color name="accent">#FF4081</color>
<color name="primary_text">#212121</color>
<color name="secondary_text">#757575</color>
<color name="icons">#FFFFFF</color>
<color name="divider">#BDBDBD</color>
</resources>
Wenn Sie zusätzliche Farben benötigen, sollten Sie Ihre Farbe in zwei Schritten in XML definieren. Benennen Sie zuerst die Farbe des Hex-Werts und dann eine Komponente Ihrer App, die eine bestimmte Farbe erhalten soll. Dies macht es einfach, die Farben später anzupassen. Auch dies ist in colours.xml .
<color name="orange">#fff3632b</color>
<color name="my_view_background_color">@color/orange</color>
Wenn Sie dann die Farbe im Code festlegen möchten, gehen Sie wie folgt vor:
int myColor = ContextCompat.getColor(context, R.color.my_view_background_color);
myView.setBackgroundColor(myColor);
Android Vordefinierte Farben
Die Farbklasse enthält eine Reihe vordefinierter Farbkonstanten. Sie können es so verwenden.
int myColor = Color.BLUE;
myView.setBackgroundColor(myColor);
Andere Farben sind
Color.BLACK
Color.BLUE
Color.CYAN
Color.DKGRAY
Color.GRAY
Color.GREEN
Color.LTGRAY
Color.MAGENTA
Color.RED
Color.TRANSPARENT
Color.WHITE
Color.YELLOW
Anmerkungen