如何在Android上的ImageView上设置背景颜色?

时间:2013-10-19 01:08:49

标签: android imageview

我尝试了几件事,没有任何工作......我正在尝试在Android上的ImageView上更改BackgroundColor,但没有任何反应......

这是我的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" />

代码:

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));
    }

我错过了什么?

5 个答案:

答案 0 :(得分:29)

RGB:255,255,255是WHITE的颜色代码。由于您的父版式背景颜色也是白色,因此您将看不到差异。

尝试更改颜色,如

backgroundImg.setBackgroundColor(Color.rgb(100, 100, 50));

或者更改父布局的背景颜色。

答案 1 :(得分:19)

您的代码没有任何问题。但我更喜欢通过xml这样做,这也将解决你的问题。只需在ImageView标记中添加它即可。

android:background="@android:color/black"

答案 2 :(得分:16)

理论上它应该有用......但尝试这样:

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

答案 3 :(得分:1)

如果要使用放置在drawable文件夹中的XML文件,可能需要使用:

imageView.setBackgroundResource(R.drawable.drawable);

答案 4 :(得分:0)

使用PorterDuff.Mode

imageView1.setColorFilter(colorCode,android.graphics.PorterDuff.Mode.SRC_IN);

PorterDuff.mode提供了一种在Android中撰写和叠加图片的方法,另请参阅What does PorterDuff.Mode mean in android graphics.What does it do?