У меня есть ImageButton:Изменение формы цвет
<ImageButton
android:layout_width="100dp"
android:layout_height="100dp"
app:srcCompat="@drawable/round_color"
android:layout_below="@+id/lamps_list_room"
android:layout_alignStart="@+id/lamps_list_room"
android:layout_marginStart="69dp"
android:layout_marginTop="62dp"
android:id="@+id/color_picker_button"
android:background="@color/colorPrimaryDark"/>
и форма:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<corners android:radius="100dp" />
<stroke
android:color="#FFFFFF"
android:width="2px">
</stroke>
</shape>
Каков наилучший способ изменить твердый цвет формы?
ImageButton imageButton = (ImageButton) ((Activity) mContext).findViewById(R.id.color_picker_button);
Drawable drawable = imageButton.getBackground();
drawable.setColorFilter(0xff999999, PorterDuff.Mode.MULTIPLY);
форма по-прежнему белый ...
Edit:
Даже когда я пытаюсь
Drawable drawable = mContext.getDrawable(R.drawable.round_color);
ColorFilter filter = new LightingColorFilter(Color.BLACK, Color.BLACK);
if (drawable != null) {
drawable.setColorFilter(filter);
}
Он по-прежнему не работает!
Это [ссылка] (http://stackoverflow.com/a/17825210/1907954) может помочь вам. На это уже ответили в SO. – Bugdr0id
Возможный дубликат [Установить программный цвет андроидной формы программно] (http://stackoverflow.com/questions/17823451/set-android-shape-color-programmatically) –