我尝试更改已设置阴影图层的绘画的透明度。当我使用paint.setAlpha(x)
时,我的油漆透明度发生了变化,但阴影层没有。由于我想在onDraw
动画期间使用它,我宁愿不想在每一帧中设置新的阴影图层。
请参阅我的实施:
paint.setStyle(Paint.Style.FILL);
paint.setColor(color);
paint.setShadowLayer(shadowRadius, shadowDx, shadowDy, shadowColor);
然后在onDraw()
:
paint.setAlpha((int)(255 * deltaT / ANIMATION_TIME));
答案 0 :(得分:0)
这是一个迟到的答案。但它可以对其他人有所帮助。
根据setShadowLayer
的文档:
阴影的 alpha 将是油漆的 alpha 如果阴影颜色 是不透明的,如果不是,则是阴影颜色的 alpha。
因此,如果您希望 Paint
的 alpha
属性影响阴影层,则必须使用不透明颜色(完整的 Alpha 通道,例如 #FF444444)。