2

如何获得Gradientrawable由 设置的颜色setColors(@ColorInt int[] colors)

任何帮助都将得到应用。

4

1 回答 1

0

请参考 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 {
            ...
        }
    }
于 2015-10-20T11:58:21.333 回答