Как установить BackgroundColor на ImageView на Android?
Я попробовал пару вещей, и ничего не работает... Я пытаюсь изменить BackgroundColor на ImageView на Android, но ничего не происходит...
Вот мой 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));
}
Что мне не хватает?
Ответы
Ответ 1
RGB: 255, 255, 255 - код цвета для WHITE. Поскольку цвет фона вашего родительского макета также белый, вы не увидите разницы.
Попробуйте изменить цвет, например
backgroundImg.setBackgroundColor(Color.rgb(100, 100, 50));
Или измените цвет фона родительского макета.
Ответ 2
В теории он должен работать... но попробуйте вот так:
backgroundImg.setBackgroundColor(Color.parseColor("#FFFFFF"));
Ответ 3
В коде нет ничего плохого. Но я бы предпочел сделать это через xml, это также решит вашу проблему. Просто добавьте это в свой тег ImageView.
android:background="@android:color/black"
Ответ 4
Если вы хотите использовать XML файл, размещенный в папке с возможностью переноса, вам может потребоваться использовать:
imageView.setBackgroundResource(R.drawable.drawable);
Ответ 5
Использование PorterDuff.Mode
:
imageView1.setColorFilter(colorCode,android.graphics.PorterDuff.Mode.SRC_IN);
PorterDuff.Mode
дает способ компоновки и наложения изображений на Android, см. также Что означает PorterDuff.Mode в графике android. Что он делает?