2015-05-15 3 views
2

Я пытаюсь изменить цвет формы программно, но не работает.изменение формы цвета программно в android

Вот форма

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval"> 
    <solid android:color="#9F2200"/> 
    <stroke android:width="2dp" android:color="#fff" /> 
</shape> 

вот как я использую его в качестве фона кнопки

<Button     
    android:id="@+id/ibtn_EA_ColorPick_new" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="10dp" 
    android:layout_marginRight="10dp" 
    android:background="@drawable/round_button" 
    /> 

и вот как я меняюсь цвет

GradientDrawable bgShape = (GradientDrawable)btn_ColorPick.getBackground(); 
bgShape.setColor(Color.RED); 

Но когда я меняю цвет фона, он удаляет кнопку с экрана.

+1

@DerGolem: Я последовал тот же вопрос, но он не работал для меня. –

ответ

2

Изменить код, как показано ниже

GradientDrawable bgShape = (GradientDrawable)btn_ColorPick.getBackground(); 
bgShape.mutate() 
bgShape.setColor(Color.RED); 
Смежные вопросы