[JAVA] J'ai résumé le développement Android, RVB, nombre hexadécimal, implémentation des couleurs à partir du fichier de ressources

À propos de la couleur

J'étais accro quand je jouais avec la conception d'interface utilisateur dans le développement Android, alors j'ai essayé de l'organiser. Vous pouvez spécifier la couleur à partir de l'hexadécimal ou du fichier de ressources. Il n'y a pas de fichier de ressources sur iOS, il m'a donc fallu un certain temps pour comprendre le concept. La chose délicate pour moi était le concept d'un fichier de ressources.

Paramètres des ressources de couleurs (j'en ai fait le top car j'en suis le plus accro)

Une méthode qui peut être utilisée si une clé est définie dans color.xml du dossier Res (Resource). Une méthode courante dans la pratique.

Resource.java


Resources res = getResources();
int chocolate_color = res.getColor(R.color.chocolate);

TextView text = new TextView(this);
text.setBackgroundColor(chocolate_color);

color.xml


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="chocolate">#d2691e</color>
</resources>

#Couleur au format RVB

Rgb.java


TextView tv = new TextView(this);
tv.setTextColor(Color.parseColor("#FF00C0"));

// "#FF_00_C0"
// RGB

La méthode de parseColor est public static int parseColor(String colorString) Par conséquent, l'argument est de type «String» et la valeur de retour est de type «int». La couleur semble être une «couleur intacte».

Réglage de la couleur au format ARVB

Argb.java


TextView tv = new TextView(this);
tv.setTextColor(Color.parseColor("#FF0F00C0"));

// "#FF_0F_00_C0"
// ARGB

Réglage de la couleur au format mot-clé

Les mots clés pouvant être utilisés sont les mots clés ci-dessous

red blue green black white gray cyan magenta yellow lightgraydarkgray

Word.java



TextView tv = new TextView(this);
tv.setTextColor(Color.parseColor("magenta"));

Constante par défaut de la classe Color?

--Color.BLACK: Noir --Color.BLUE: Bleu --Color.CYAN: Cyan --Color.DKGRAY: Gris foncé --Color.GRAY: Gris --Color.GREEN: Vert --Color.LTGRAY: Gris clair --Couleur.MAGENTA: Magenta --Color.RED: Rouge --Color.TRANSPARENT: Transparent --Couleur.WHITE: Blanc --Couleur.JAUNE: Jaune

Comment convertir un nombre hexadécimal en entier et définir la couleur (rappelez-vous)

Intcolor.java


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

TextView text = new TextView(this);
text.setBackgroundColor(whiteInt);

Comment convertir entre une chaîne hexadécimale et une chaîne d'octets

hex.java


public static String bin2hex(byte[] data) {
    StringBuffer sb = new StringBuffer();
    for (byte b : data) {
        String s = Integer.toHexString(0xff & b);
        if (s.length() == 1) {
            sb.append("0");
        }
        sb.append(s);
    }
    return sb.toString();
}

public static byte[] hex2bin(String hex) {
    byte[] bytes = new byte[hex.length() / 2];
    for (int index = 0; index < bytes.length; index++) {
        bytes[index] = (byte) Integer.parseInt(hex.substring(index * 2, (index + 1) * 2), 16);
    }
    return bytes;
}

Je pense que si vous maintenez cette pression, vous pourrez effectuer une conversion de couleur immédiatement après avoir vu cette page.

Recommended Posts

J'ai résumé le développement Android, RVB, nombre hexadécimal, implémentation des couleurs à partir du fichier de ressources
Développement Android, réglage de la luminosité de la couleur RVB au HSV,
J'ai essayé de résumer les applications et les outils de développement personnellement utiles (outils de développement)
J'ai essayé de résumer les applications et les outils de développement personnellement utiles (Apps)
J'ai essayé de résumer le support d'iOS 14
J'ai essayé de résumer l'apprentissage Java (1)
J'ai essayé de résumer Java 8 maintenant
J'ai essayé de résumer les méthodes utilisées
J'ai essayé de résumer l'API Stream
Conversion de la température de couleur en RVB (sRGB)
Qu'est-ce que Docker? J'ai essayé de résumer
J'ai essayé de résumer sur JVM / garbage collection
[Rails] J'ai essayé de faire passer la version de Rails de 5.0 à 5.2
J'ai essayé d'utiliser une connexion à une base de données dans le développement Android
J'ai essayé de résumer divers link_to utilisés cette fois
Un débutant en développement d'applications a essayé de créer une application de calculatrice Android
J'ai essayé de mâcher C # (lire et écrire des fichiers)