CarinaPilar
CarinaPilar

Reputation: 1084

How to Set BackgroundColor on ImageView on Android?

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

Answers (5)

Sunil Chaudhary
Sunil Chaudhary

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

makunomark
makunomark

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

Abhishek V
Abhishek V

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

ayon
ayon

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

Al&#233;cio Carvalho
Al&#233;cio Carvalho

Reputation: 13667

In theory it should work...but try like this:

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

Upvotes: 22

Related Questions