Comment utiliser ColorDrawable avec ImageView?
J'ai une mise en page avec un ImageView défini comme:
<ImageView
android:layout_width="45dip"
android:layout_height="45dip"
android:scaleType="fitXY" />
maintenant, je veux juste régler l'imageview à être statique couleur, comme le rouge ou le vert. Je suis en train d'essayer:
ColorDrawable cd = new ColorDrawable("FF0000");
cd.setAlpha(255);
ImageView iv = ...;
iv.setImageDrawable(cd);
l'imageview est tout simplement vide de si, pas de couleur. Le 45dip, l'espace est utilisé. Que dois-je faire pour obtenir la couleur à rendre?
Grâce
OriginalL'auteur user246114 | 2010-03-30
Vous devez vous connecter pour publier un commentaire.
En regardant le constructeur de ColorDrawable je ne vois pas une version qui prend une chaîne de caractères comme dans votre exemple. J'en vois un qui prend un int. Essayez ceci:
Notez que j'ai utilisé 8 chiffres hexadécimaux, et non pas 6 comme dans votre exemple. Ceci définit la valeur alpha.
Edit: Regardant en arrière, une partie de mon code où j'ai fait quelque chose de similaire, j'ai toujours utilisé setBackgroundDrawable() au lieu de setImageDrawable() pour initialiser une ImageView avec une couleur unie. Vous ne savez pas si cela ferait une différence.
si vous souhaitez utiliser un sélecteur de couleurs ( pas un drawable) par programmation, vous pouvez utiliser :
ColorDrawable cd = new ColorDrawable(Color.parseColor("#FFEDCACA"));
pour ceux qui cherchent comment définir une couleur unie à un drawable (comme je l'ai été), il est beaucoup plus facile à utiliser imageView.setBackgroundColor()
OriginalL'auteur Mark B