У меня есть drawable, который я использую в качестве фона для LinearLayout. Я хотел бы изменить цвет этой фигуры во время выполнения. Я пробовал использовать несколько методов.. но никто не работает.
Я следовал описанному здесь подходу: http://www.anddev.org/android-2d-3d-graphics-opengl-problems-f55/change-shape-drawable-solid-color-t16798.html
Но у вас такая же проблема... это не сбой.. но цвет не меняется!
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00A6C1" />
<corners android:radius="@dimen/square_corners" />
</shape>
Фрагмент кода:
GradientDrawable drawable = (GradientDrawable) activity.getResources().getDrawable(R.drawable.blue_square_shape);
int color = ((Application) getApplication()).getColor();
drawable.setColor(color);
block.findViewById(R.id.blockSquare).setBackgroundDrawable(drawable);
findViewById(R.id.blockSquare).postInvalidate();
Любая подсказка? Я прошел весь день по поиску в Интернете... и это становится очень раздражающим...
UPDATE:
Когда я пытаюсь сделать то же самое с этой формой:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/shape" android:shape="rectangle">
<gradient android:startColor="#1FBCCF" android:endColor="#06A4C1"
android:angle="270" />
<corners android:topLeftRadius="@dimen/footer_corners"
android:topRightRadius="@dimen/footer_corners" />
</shape>
Цвет становится черным... что я думаю, он может быть изменен...