J'ai essayé quelques trucs et rien ne fonctionne ... J'essaye de changer le BackgroundColor sur une ImageView sur Android, mais rien ne se passe ...
Voici mon xml:
<ImageView
Android:id="@+id/imageView1"
Android:layout_width="350dp"
Android:layout_height="550dp"
Android:layout_above="@+id/btnInfo"
Android:layout_alignLeft="@+id/fundo"
Android:layout_alignRight="@+id/btnInfo"
Android:layout_alignTop="@+id/fundo"
Android:layout_centerHorizontal="true"
Android:contentDescription="@string/backgroundMain" />
Et le code:
public void onStart()
{
super.onStart();
Log.d("Teste", "In the onStart() event 5");
ImageView backgroundImg = (ImageView) findViewById(R.id.imageView1);
backgroundImg.setBackgroundColor(Color.rgb(255, 255, 255));
}
Qu'est-ce que je rate?
RVB: 255, 255, 255 est le code couleur du BLANC. Étant donné que la couleur d'arrière-plan de votre disposition parent est également blanche, vous ne verrez pas la différence.
Essayez de changer de couleur comme
backgroundImg.setBackgroundColor(Color.rgb(100, 100, 50));
Sinon, changez la couleur d'arrière-plan de la disposition parent.
Il n'y a rien de mal avec votre code. Mais je préférerais le faire via xml, cela résoudra également votre problème. Ajoutez-le simplement dans votre balise ImageView.
Android:background="@Android:color/black"
En théorie, cela devrait fonctionner ... mais essayez comme ceci:
backgroundImg.setBackgroundColor(Color.parseColor("#FFFFFF"));
Si vous souhaitez utiliser un fichier XML placé dans un dossier dessinable, vous devrez peut-être utiliser:
imageView.setBackgroundResource(R.drawable.drawable);
En utilisant PorterDuff.Mode
:
imageView1.setColorFilter(colorCode,Android.graphics.PorterDuff.Mode.SRC_IN);
PorterDuff.mode
donne un moyen de composer et de superposer des images dans Android, voir aussi Que signifie PorterDuff.Mode dans Android graphics.Que fait-il?