使用阴影层绘画 - 如何更改 alpha

mam*_*rka 5 user-interface android

我尝试更改已设置阴影层的油漆的透明度。当我使用时paint.setAlpha(x),我的油漆透明度改变了,但阴影层没有。因为我想在onDraw动画期间使用它,所以我不想设置新的阴影层在每一帧中。

请看我的实现:

paint.setStyle(Paint.Style.FILL);
        paint.setColor(color);
        paint.setShadowLayer(shadowRadius, shadowDx, shadowDy, shadowColor);
Run Code Online (Sandbox Code Playgroud)

然后在onDraw()

paint.setAlpha((int)(255 * deltaT / ANIMATION_TIME));
Run Code Online (Sandbox Code Playgroud)

dev*_*max 0

这是一个迟来的答案。但这对其他人可能有帮助。

根据以下文件setShadowLayer

如果阴影颜色不透明,则阴影的 Alpha 值将是绘画的 Alpha 值;如果不是,则阴影颜色的 Alpha 值将是阴影颜色的 Alpha 值。

因此,如果您希望Paintalpha属性影响阴影层,则必须使用不透明颜色(完整的 Alpha 通道,例如#FF444444)。