J'essaie de comprendre comment les couleurs fonctionnent dans Android. J'ai cette couleur définie comme arrière-plan de mon LinearLayout
, et j'obtiens un arrière-plan gris avec une certaine transparence:
<gradient android:startColor="#b4555555" android:endColor="#b4555555"
android:angle="270.0" />
Si je supprime les deux derniers caractères (55), j'obtiens une couleur unie, perdant la transparence. J'essayais de trouver une page où je peux voir une explication à ce sujet, mais je ne l'ai pas trouvée.
la source
<<
dans la page).Android utilise des valeurs ARGB hexadécimales, au format #AARRGGBB. Cette première paire de lettres, l'AA, représente le canal alpha. Vous devez convertir vos valeurs d'opacité décimale en une valeur hexadécimale. Voici les étapes:
Processus Alpha Hex Value
Voilà comment vous trouvez la valeur du canal alpha. J'ai pris la liberté de dresser une liste de valeurs pour vous. Prendre plaisir!
Valeurs d'opacité hexadécimale
la source
echo "obase=16; ibase=10; (255*12+50)/100" | bc
. (+50 - pour l'arrondi à la valeur la plus proche, c'est 100/2 en fait)En partant de la réponse de @BlondeFurious , voici du code Java pour obtenir chaque valeur hexadécimale de 100% à 0% alpha:
Production:
Une version JavaScript est ci-dessous:
Afficher l'extrait de code
Vous pouvez également simplement Google "nombre à hex" où "nombre" est une valeur comprise entre 0 et 255.
la source
Conception de matériaux Android
Ce sont les conversions pour définir les niveaux d'opacité des couleurs du texte.
Texte sombre sur fond clair
DE000000
8A000000
61000000
1F000000
Texte blanc sur fond sombre
FFFFFFFF
B3FFFFFF
80FFFFFF
1FFFFFFF
Voir également
la source
Sur Android, les couleurs peuvent être spécifiées comme RVB ou ARGB.
http://en.wikipedia.org/wiki/ARGB
En RVB, vous avez deux caractères pour chaque couleur (rouge, vert, bleu) et en ARGB, vous avez deux caractères supplémentaires pour le canal alpha.
Donc, si vous avez 8 caractères, c'est ARGB, les deux premiers caractères spécifiant le canal alpha. Si vous supprimez les deux premiers caractères, c'est uniquement RVB (couleurs unies, pas d'alpha / transparence). Si vous souhaitez spécifier une couleur dans votre code source Java, vous devez utiliser:
Référence: argb
la source
Une valeur de couleur hexadécimale à 8 chiffres est une représentation de l'ARGB (Alpha, Rouge, Vert, Bleu), tandis qu'une valeur à 6 chiffres suppose une opacité de 100% (entièrement opaque) et définit uniquement les valeurs RVB. Donc, pour que cela soit entièrement opaque, vous pouvez utiliser soit # FF555555, soit simplement # 555555. Chaque valeur hexadécimale à 2 chiffres est un octet, représentant des valeurs de 0 à 255.
la source
à la nouvelle version chromée (peut-être 67.0.3396.62), la couleur hexadécimale CSS peut utiliser cet affichage de modèle,
par exemple:
cc est l'opacité, mais l'ancien chrome ne prend pas en charge ce mod
la source