我尝试了几件事,没有任何工作......我正在尝试在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));
}
我错过了什么?
答案 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?