Как получить цвета из Gradientrawable?
Как можно получить Gradientrawable
цвета, установленные setColors(@ColorInt int[] colors)
?
Любая помощь будет оценена.
1 ответ
Пожалуйста, обратитесь к GradientDrawable.java, затем внесите необходимые изменения в результат по мере необходимости.
public class ColorGradientDrawable extends Drawable {
...
private int mColor; // this is the color which you try to get
...
// original setColor function with little modification
public void setColor(int argb) {
mColor = argb;
mGradientState.setSolidColor(argb);
mFillPaint.setColor(argb);
invalidateSelf();
}
// вот как я получаю цвет из этого класса
public int getColor() {
return mColor;
}
...
// Это то же самое, что и GradientState, просто внесите необходимые изменения, чтобы сделать его компилируемым
final public static class GradientState extends ConstantState {
...
}
}