Home » Android » How to Set BackgroundColor on ImageView on Android?

How to Set BackgroundColor on ImageView on Android?

Posted by: admin April 23, 2020 Leave a comment

Questions:

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?

How to&Answers:

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.

Answer:

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"

Answer:

In theory it should work…but try like this:

backgroundImg.setBackgroundColor(Color.parseColor("#FFFFFF"));

Answer:

If you want to use a XML file placed in drawable folder, you might need to use:

imageView.setBackgroundResource(R.drawable.drawable);

Answer:

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?