Применить альфа-градиент - PullRequest
0 голосов
/ 18 июня 2011

Я использую это

    public void drawSky(Canvas canvas) {

    float lineY =(CamOverlayTest.camViewCenterY/2)+3*(Math.max(0,(-90 - CamOverlayTest.swRoll)));

    int[] gColor = {Color.BLUE,Color.BLACK};

    GradientDrawable gradient = new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP,gColor );
    gradient.setGradientType(GradientDrawable.LINEAR_GRADIENT);
    // gradient.setDither(true);
    Rect bounds = new Rect();
    bounds.set(CamOverlayTest.camViewCenterX-120, 0, CamOverlayTest.camViewCenterX+120, (int)lineY-2);
    gradient.setBounds(bounds);
    gradient.draw(canvas);
    }

, чтобы нарисовать голубое небо, превращающееся в черное, но я бы хотел, чтобы у него также был альфа-градиент, но мой мозг не может понять, как это сделать.it.

Я в основном хочу, чтобы градиент начинался с прозрачного, а затем становился полностью непрозрачным, а также менялся с синего на черный

Любые идеи, пожалуйста:)

Simon

1 Ответ

2 голосов
/ 18 июня 2011

Попробуйте заменить эту строку:

int[] gColor = {0x000000FF,0xff000000};

Первые две цифры каждого цвета представляют альфа.

Возможно, вам придется установить формат пикселя следующим образом:

getWindow().setFormat(PixelFormat.RGBA_8888);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...