Reputation: 1084
I tried a couple things and nothing is working... I'm trying to change the BackgroundColor on a ImageView on Android, but nothing happens...
Here is my 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" />
And the 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));
}
What am I missing?
Upvotes: 39
Views: 88284
Reputation: 1247
Using PorterDuff.Mode
:
imageView1.setColorFilter(colorCode,android.graphics.PorterDuff.Mode.SRC_IN);
PorterDuff.mode
gives a way of composing and overlaying images in Android, see also What does PorterDuff.Mode mean in android graphics.What does it do?
Upvotes: 2
Reputation: 809
If you want to use a XML file placed in drawable folder, you might need to use:
imageView.setBackgroundResource(R.drawable.drawable);
Upvotes: 2
Reputation: 12536
RGB:255, 255, 255 is the color code for WHITE. Since your parent layout background color is also white you won't see the difference.
Try changing color like
backgroundImg.setBackgroundColor(Color.rgb(100, 100, 50));
Or else change the background color of parent layout.
Upvotes: 36
Reputation: 2180
There's nothing wrong with your code. But I would prefer doing this through xml , This will also solve your problem. Just add this in your ImageView tag.
android:background="@android:color/black"
Upvotes: 27
Reputation: 13667
In theory it should work...but try like this:
backgroundImg.setBackgroundColor(Color.parseColor("#FFFFFF"));
Upvotes: 22