Die Color-Klasse definiert Methoden zum Erstellen und Konvertieren von Farbints.
Farben werden als gepackte Ints dargestellt, die aus 4 Bytes bestehen: Alpha, Rot, Grün, Blau.
Die Werte sind nicht vormultipliziert, dh jede Transparenz wird nur in der Alpha-Komponente und nicht in den Farbkomponenten gespeichert.
Die Komponenten werden wie folgt gespeichert (alpha << 24) | (rot << 16) | (grün << 8) | blau.
Jede Komponente liegt zwischen 0 und 255, wobei 0 keinen Beitrag für diese Komponente bedeutet und 255 100 % Beitrag bedeutet.
Somit wäre undurchsichtiges Schwarz 0xFF000000 (100 % undurchsichtig, aber keine Beiträge von Rot, Grün oder Blau), und undurchsichtiges Weiß wäre 0xFFFFFFFF
Danke, ich hatte eine Reihe von Farbdeklarationen in einer meiner Klassen und es funktioniert nicht. Jetzt weiß ich warum.
– Paul McCarthy
6. Februar 2020 um 0:43 Uhr
Paint hat eine festgelegte Farbfunktion.
/**
* Set the paint's color. Note that the color is an int containing alpha
* as well as r,g,b. This 32bit value is not premultiplied, meaning that
* its alpha can be any value, regardless of the values of r,g,b.
* See the Color class for more details.
*
* @param color The new color (including alpha) to set in the paint.
*/
public native void setColor(@ColorInt int color);
Als Android-Entwickler stelle ich die Farbe so ein …
R.color.black oder einige Farben sind offensichtlich ganze Zahlen. Es braucht einen RGB-Wert. Sie können Ihr eigenes Like geben #FF123454 die verschiedene Primärfarben darstellt
Anzeigen
Ich denke, es sollte sein R.Farbe.Schwarz
Sehen Sie sich auch Konvertieren von Android-Farbzeichenfolgen zur Laufzeit in int an
10559400cookie-checkAndroid: Konvertierung von Farbe nach Intyes
android.graphics.Color ist eine Sammlung statischer Methoden. Es soll nicht initialisiert werden. Wie haben Sie das geschafft?
– Dmitri Rjadnenko
3. August 2011 um 12:55 Uhr
du hast recht, danke, bitte poste es nochmal als antwort 🙂
– Kaner
3. August 2011 um 12:56 Uhr