Programmatically une couleur plus transparente
Je suis en train de travailler sur une simple barre graphique de l'application qui utilise un tableau statique de couleurs pour divvying le bar de couleurs. J'aimerais que la fonctionnalité soit dessiner des bars normalement ou légèrement transparent.
Est-il un moyen de faire ajuster une couleur entier de sorte qu'il est légèrement transparent? Ou devrai-je statiquement définir une version transparente de chaque couleur, puis passer à l'utilisation de ces versions à chaque fois que je veux de la transparence?
Jetez un oeil à setAlpha developer.android.com/reference/android/view/...
OriginalL'auteur TrolliOlli | 2013-06-21
Vous devez vous connecter pour publier un commentaire.
Bien sûr...Regardez la Couleur et il y a une fonction:
Retour d'une couleur int alpha, rouge, vert, bleu.
Afin que vos valeurs RVB peut être statique et que vous venez de frapper la valeur alpha pour obtenir une nouvelle version transparente de la couleur.
Vous êtes les bienvenus. Même plus les bienvenus si vous souhaitez marquer la réponse acceptée. 🙂
OriginalL'auteur
Si vous utilisez la bibliothèque, vous pouvez utiliser
ColorUtils.setAlphaComponent(int color, int alpha)
. Si vous n'utilisez pas de support de la bibliothèque, une solution en ligne de la prise de c'est le code source est:int res = (color & 0x00ffffff) | (alpha << 24);
Je'm_With_Stupid entre 0 et 255 pour être plus précis
ColorUtils.setAlphaComponent a été ajouté à l'API (22.1) ~2 ans après que cette question a été posté. L'ensemble de la ColorUtils classe a tout un tas de choses intéressantes. Quelqu'un d'achoppement sur ce fil maintenant, ce serait bien de le revoir (developer.android.com/reference/android/support/v4/graphics/...)
ce doit être la accepté de répondre à
OriginalL'auteur
Salut à vous pourrait utiliser le:
remarque: l'alpha est ici de 0 à 255 et pas % en fonction.
Il y a aussi d'autres util méthodes d'un tel contrat et de la luminosité des calculs.
Ce qui concerne
OriginalL'auteur
De la réponse sommet, j'ai créé une méthode pour ce faire:
Il est également intéressant de noteing que cela peut être modifié à une méthode d'extension comme
En ce qui concerne la valeur alpha, à partir de MSDN Couleur.FromArgb:
OriginalL'auteur
Essayer de code suivant
si le code de couleur a alpha puis
OriginalL'auteur