Comment définir la couleur de fond de mon application Android? Quand j'essaye:
LinearLayout li=(LinearLayout)findViewById(R.id.myLayout);
li.setBackgroundColor(Color.parseColor("#rrggbb"));
Mon application se bloque toujours. Est-ce que quelqu'un peut me donner un coup de main. Merci
Color.parseColor("#rrggbb")
au lieu de #rrggbb
, vous devriez utiliser les valeurs hexadécimales 0 à F pour rr, gg et bb:
par exemple. Color.parseColor("#000000")
ou Color.parseColor("#FFFFFF")
De la documentation:
public static int parseColor (String colorString):
Analyser la chaîne de couleur et renvoyer le color-int correspondant. Si la chaîne ne peut pas être analysée, lève une exception IllegalArgumentException . Les formats pris en charge sont: #RRGGBB #AARRGGBB 'rouge', 'bleu', 'vert', «noir», «blanc», «gris», «cyan», «magenta», «jaune», «gris foncé», «gris foncé», «gris», «gris clair», «gris foncé», «aqua», «fuschia», «Citron vert», «marron», «marine», «olive», «violet», «argenté», «turquoise»
Je pense donc que si vous utilisez #rrggbb
, vous obtenez IllegalArgumentException dans votre logcat
Alternative:
Color mColor = new Color();
mColor.red(redvalue);
mColor.green(greenvalue);
mColor.blue(bluevalue);
li.setBackgroundColor(mColor);
Cette question est ancienne mais elle peut aussi aider les autres.
Essaye ça :
li.setBackgroundColor(getResources().getColor(R.color.blue));
or
li.setBackgroundColor(getResources().getColor(Android.R.color.red));
or
li.setBackgroundColor(Color.rgb(226, 11, 11));
or
li.setBackgroundColor(Color.RED)
Essaye ça:
li.setBackgroundColor(Android.R.color.red); //or which ever color do you want
EDIT: Publier un fichier logcat serait également utile.
En passant, un bon conseil pour sélectionner rapidement une couleur dans les nouvelles versions d'AS consiste simplement à taper #fff, puis à utiliser le sélecteur de couleur situé sur le côté du code pour choisir celui que vous voulez. Rapide et plus facile que de se souvenir de tous les hexadécimaux de couleur. Par exemple:
Android:background="#fff"