Мне попалась странная проблема. У меня есть RelativeLayout, я определяю цвет фона в XML следующим образом:
<RelativeLayout ..
android:background="#449966">
</RelativeLayout>
Теперь я хочу программно обновить цвет фона, поэтому я сделал это:
view.setBackgroundColor( Color.argb( 255, 200, 150, 133 ) );
Что странно работает, ТОЛЬКО если я удаляю атрибут background из файла XML. Если присутствует атрибут background , цвет фона не изменяется при программной установке.
Так как атрибут background , кажется, ожидает Drawable , я подумал, может быть, мне нужно создать также drawable и использовать вместо него метод setBackground , поэтому я сделал:
Drawable newColor = new ColorDrawable( Color.argb( 255, 200, 150, 133 ) );
view.setBackground( newColor );
Но, тем не менее, цвет фона не изменяется, ЕСЛИ атрибут background присутствует в XML. Кажется, что если в XML определен атрибут background , он не может быть перезаписан 1027 *.
Есть предложения, пожалуйста? Спасибо!