如何在Android上的ImageView上设置BackgroundColor?

我尝试了一些事情,没有任何工作…我试图改变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)); } 

我错过了什么?

Solutions Collecting From Web of "如何在Android上的ImageView上设置BackgroundColor?"

RGB:255,255,255是WHITE的颜色代码。 由于你的父母的布局背景颜色也是白色的,你不会看到差异。

尝试改变颜色

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

否则改变父布局的背景颜色。

理论上它应该工作…但是尝试像这样:

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

你的代码没有问题。 但我宁愿通过XML来做到这一点,这也将解决您的问题。 只需在您的ImageView标签中添加。

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

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

 imageView.setBackgroundResource(R.drawable.drawable); 

使用PorterDuff.Mode

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

PorterDuff.mode提供了在Android中编写和叠加图像的方法,另请参阅PorterDuff.Mode在Androidgraphics中的含义是什么?